Есть ли варианты отрисовки обычной точки на картинке с точностью до 0.0000001...., а не как представлено в компоненте Point только по целым числам?
Например если трансформацией сдвигать картинку, то там точность с запятой возможна, но это целиковая картинка, а как поступить если это точка, которая постоянно перерисовывается на на этой картинке?
Редактировалось 2 раз(а), последний 2021-02-20 19:25:33
Этот топик читают: Гость
Ответов: 1343
Рейтинг: 31
|
|||
карма: 2 |
|
Ответов: 8921
Рейтинг: 823
|
|||
Rysik, ну как всегда неясно излагаете хотелки
Сделайте трёхмерный массив double (высота, ширина и три цвета) и работайте с ним. при выводе на экран округляйте в integer. Например картинка 256х192 запишется в массив Pic[0..255, 0..191. 0..2] As double В начале в двух координатах значения будут будут совпадать с номерами пикселей, ну а после расчёта будут с трчностью до 14 десятичных знаков. С цветом надо следить, чтобы не вышел за пределы 0-:-255. |
|||
карма: 19 |
|
Ответов: 1343
Рейтинг: 31
|
|||
Rysik писал(а): Rysik, ну как всегда неясно излагаете хотелки да, это да)))) Леонид писал(а): Сделайте трёхмерный массив double (высота, ширина и три цвета) и работайте с ним. при выводе на экран округляйте в integer. Например картинка 256х192 запишется в массив Pic[0..255, 0..191. 0..2] As double
В начале в двух координатах значения будут будут совпадать с номерами пикселей, ну а после расчёта будут с трчностью до 14 десятичных знаков. С цветом надо следить, чтобы не вышел за пределы 0-:-255. ничего не понял)))
вот пример, тут при маленькой частоте передвижения точки, она двигается ступеньками, а надо что бы двигалась очень плавно как на втором примере, но на втором примере, двигается всё полностью, а не каждая точка отдельно |
|||
карма: 2 |
|
Ответов: 8921
Рейтинг: 823
|
|||
Rysik, картинки в компьютере не аналоговые, а растровые и передвинуть точку можно не менее, чем на целое число пикселей. А играть переливанием цвета -- считать замучаетесь
|
|||
карма: 19 |
|
Ответов: 1343
Рейтинг: 31
|
|||
Леонид писал(а): Rysik, картинки в компьютере не аналоговые, а растровые и передвинуть точку можно не менее, чем на целое число пикселей. А играть переливанием цвета -- считать замучаетесь а ничего и не поменялось))), всё работает так же ступеньками, тут не нужно частоту 10мс, а частоту даже 1000мс и сразу будет заметно что точка двигается ступеньками по 1 пикселю, а вот если заюзать трансформацию и сдвиг то там уже оно как то оооочень плавно идёт |
|||
карма: 2 |
|
Ответов: 2236
Рейтинг: 676
|
|||
Rysik, скачайте книгу Delphi Графика в проектах (Дмитрий Осипов) и прочтите в 11 главе "Общие характеристики режимов отображения". Там полный ответ на ваш вопрос.
А так элементы трансформации и были сделаны для того чтоб решить этот вопрос. Это конечно не единственный возможный вариант, но с вашей задачей вполне справится.
|
|||
карма: 11 |
|
6