
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
23.02.2019, 11:50
|
|||
|---|---|---|---|
|
|||
Имя для каждого из 16 777 216 цветовых оттенков |
|||
|
#18+
Продолжаю предыдущую тему о цвете, но в другом направлении.. Добавил в программу возможность сохранения границ в текстовый файл - "AllBrights.txt" и пример в дополнительном окне, с загрузкой этих границ из текста в массив в виде: Color[2,2,256,128,10].Name = 1; Думаю, что можно упростить до двумерного массива, но пока не знаю как. Скорость полной проверки изображения, размером: (588х449 - 0,3 сек) (2560х1600 - 4,5 сек) Большой минус в том, что после запуска программы приходится ждать 15 минут пока массив загрузится из текста. Может быть у кого-то есть мысли, как ускорить процесс загрузки массива? Программа с исходниками "Delphi" . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.02.2019, 12:56
|
|||
|---|---|---|---|
Имя для каждого из 16 777 216 цветовых оттенков |
|||
|
#18+
Да вроде мгновенно загружает. Код запускал, правда, под Лазарусом — дельфей нужной версии под рукой нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.02.2019, 13:19
|
|||
|---|---|---|---|
|
|||
Имя для каждого из 16 777 216 цветовых оттенков |
|||
|
#18+
Ученик_333, Продумай грамотно формат сохранения, в идеале нужно сохранять структурами в TStream, первым интом прописав версию формата для возможности его потом менять, и соотв-но вызывать нужный загрузчик. Если хочешь работать со строками, работай хотя бы построчно, где в каждой строке будет логическая единица, т.е. примерно так: for i := 0 to LoadColor.Count - 1 do begin s := LoadColor.Strings[i]; ... end; Про тот ужас в коде на который я глянул бегло. Убери везде обращение через LoadColor.Text, это просто рвёт процессор. Если хочется работать с данными как единой строкой, тогда сохрани её в локальную переменную через тот же s := LoadColor.Text, а потом к ней обращайся. Запомни, каждое обращение к TStringList.Text, это цикл по всем строкам с плюсованием их в Result. А у тебя это делается в твоём цикле (facepalm)... Посмотри сам исходник стринглиста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.02.2019, 13:28
|
|||
|---|---|---|---|
Имя для каждого из 16 777 216 цветовых оттенков |
|||
|
#18+
RWolfДа вроде мгновенно загружает. Код запускал, правда, под Лазарусом — дельфей нужной версии под рукой нет. Моя ошибка — скопировал подсчёт не полностью. И да, одна лишь замена LoadColor.Text уже значительно ускорит процесс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.02.2019, 14:27
|
|||
|---|---|---|---|
|
|||
Имя для каждого из 16 777 216 цветовых оттенков |
|||
|
#18+
pvv.pasУбери везде обращение через LoadColor.Text, это просто рвёт процессор. RWolfда, одна лишь замена LoadColor.Text уже значительно ускорит процесс Обладеть))) Поменял LoadColor.Text на обычный string. Теперь и правда мгновенно грузится. Спасибо! Еще по поводу многомерного массива: [2,2,256,128,10]. Если определять номер {яркости} |контрастности|, как-нибудь по формуле в зависимости от номера строки, то можно сделать массив двумерным. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Порядок {яркости}, получается такой: (Для удобства веду отсчет не с нуля а с единицы). Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вот как бы узнать, что первая тройка находится в 4 строке или первая четверка в 7? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
23.02.2019, 16:35
|
|||
|---|---|---|---|
Имя для каждого из 16 777 216 цветовых оттенков |
|||
|
#18+
Ученик_333 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вот как бы узнать, что первая тройка находится в 4 строке или первая четверка в 7? Это просто сумма арифметической прогрессии: Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.02.2019, 08:59
|
|||
|---|---|---|---|
|
|||
Имя для каждого из 16 777 216 цветовых оттенков |
|||
|
#18+
RWolfЭто просто сумма арифметической прогрессии: Код: pascal 1. Благодарю, то что нужно. Собрал строки в двумерный массив и скорость проверки стала немного меньше: (588х449 - 0,25 сек) (2560х1600 - 3,3 сек) Вот что получилось: Программа, с примером Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.02.2019, 09:20
|
|||
|---|---|---|---|
Имя для каждого из 16 777 216 цветовых оттенков |
|||
|
#18+
Ученик_333, скажи, ты зачем в архив экзешник затолкал? :) И да, неплохо бы портянки кода под спойлер прятать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2039766]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
402ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 735ms |

| 0 / 0 |
