![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как реализовать Magic Wand?
Deus © (2003-03-31 03:39:00)В общем, сабж, нужны идеи/исходники по реализации. Есть некий TBitmap, битовое поле, допуск(разброс) и начальная точка. Нужно найти все точки, цвет которых не более, чем на допуск отличается от цвета начальной точки. Думаю, все видели в графических редакторах типа фотошопа. Потом нужно это битовое поле перевести в array of tpoint - массив точек, содержащий координаты отрезков, соединив которые можно получить _приблизительно_ (т.е. что бы не хранить абсолютно все точки веделенного края - это медленно, громоздко и не нужно) выделенную область. Что скажут мастера по поводу первой и особенно второй задачи.
Deus (2003-04-02 02:53:00) [1]Всем спасибо, посмотрю, то, что рекомендовали.
Antx (2003-04-01 16:11:00) [2]Мона сделать по алкоритму А* :) . Я не шучу. Ищи его описание в статьях по поиску пути на разных сайтах.
AlexT1000 (2003-03-31 13:39:00) [3]тока сразу предупреждаем время работы такого мажик ванда на битмапе типа 2000 на 2000 будет огого!
(если алгоритма типа
t:=CreateRectRgn(b,j,i,j+1);
CombineRgn(result,result,t,RGN_OR);
DeleteObject(t);
)
MBo (2003-03-31 09:26:00) [4]найди на delphi.vitpc.com FormRgn А.Григорьева.
Там есть создание региона из битмапа
Calm (2003-03-31 09:21:00) [5]Да что скажут? Скажут - реализовывай.
Судя по формулировке, ты вполне представляешь, что тебе нужно.
А раз нужны исходники, то пиши их.