Killers are quiet....
Возникла проблема: надо сделать в Делфи инструмент "палец" (smudge tool).. выглядит он так:


Если кто знает, пожалуйста помогите!!! Не надо писать код, просто кратко обьясните принцип! Как это делается?
Заранее спасибо!


Если кто знает, пожалуйста помогите!!! Не надо писать код, просто кратко обьясните принцип! Как это делается?
Заранее спасибо!

Накладываете картинку на сетку разбитую на клетки к примеру 5х5 пикселей, ну или 2х2 для большей точности, получаете практически матрицу.
В теории вы получаете координаты мыши и при нажатии на кнопку мыши вы смещаете точки находящиеся в данной клетке в другую клетку, к координатам которой вы ведёте мышь.
Итого нам понадобятся:
Функция отрисовывающая сетку.
Функция отрисовывающая картинку.
Функция сопоставялющая координаты мыши с координатами клеток.
Функция переносящая точки из одной клетки в другую.
З.Ы. данная логика применима в том случае, если картинка отрисовывается попиксельно, а не линиями.
Здесь можно скачать примеры работы с DirectDraw, пускай достаточно старые, но рабочие.
Но! Вы указали принцип и конкретное направление работы!! В результате я разобрался и сделал эту программу!! Конечно она не идеальна, т.к. работает с обычным Canvas'ом, вследствие чего есть определённые ограничения.. но тем не менее, она работает!!
За помощь - огромнейшее спасибо!!!!!!!!!!!!!
P.S. Пожалуй, останусь в этом сообществе.. оно скромное, но уютное
Обращайтесь)