Вниз
Скачать: CL | DM;

Алгоритм заливки   Найти похожие ветки 

 
hgd   (2006-07-10 19:59) [0]

Подскажите, алгоритм для заливки области с пороговым значением слоя. Как в Photoshop-е выделение волшебной палочкой!


 
antonn ©   (2006-07-10 20:44) [1]

что такое пороговое значение?
по каналам (Lr,Lg,Lb - каналы RGB, _b - куда заливать, ниже уровня или выше):
procedure PrepareBitmapLevel(_B_out:Tbitmap; Lr,Lg,Lb:byte; _b:boolean);
const Pixels = MaxInt div SizeOf(TRGBTriple);
type PRGBArray = ^TRGBArray;
    TRGBArray = array[0..Pixels-1] of TRGBTriple;
var x, y: Integer; RowOut: PRGBArray;
begin
 _B_out.PixelFormat:=pf24bit;
 for y:=0 to _B_out.Height-1 do begin
    RowOut:= _B_out.ScanLine[y];
   for x:=0 to _B_out.Width-1 do begin
      if (RowOut[x].rgbtRed>Lr)and(RowOut[x].rgbtGreen>Lg)and(RowOut[x].rgbtBlue>Lb)and(_ b) then begin
         RowOut[x].rgbtRed:=255;
         RowOut[x].rgbtGreen:=255;
         RowOut[x].rgbtBlue:=255;
      end else
        if (RowOut[x].rgbtRed<Lr)and(RowOut[x].rgbtGreen<Lg)and(RowOut[x].rgbtBlue<Lb)and not(_b) then begin
         RowOut[x].rgbtRed:=255;
         RowOut[x].rgbtGreen:=255;
         RowOut[x].rgbtBlue:=255;
      end;
   end;
 end
end;


 
hgd   (2006-07-10 21:47) [2]

Ну имеется ввиду пороговое значение заливки, как в Photoshop. Например нажимаем на пиксель X,Y и затем закрашивается связная область от X,Y по заданному порогу.


 
antonn ©   (2006-07-11 05:31) [3]

связная - это как в пайнте заливка?


 
miek ©   (2006-07-11 08:04) [4]

Обычный алгоритм flood fill, только с проверкой каждого пиксела не на цвет, а на пороговое правило...


 
hgd   (2006-07-11 16:20) [5]

А что это за алгоритм flood fill?


 
grouzd)ev ©   (2006-07-11 19:09) [6]

думаю обычный волновой. хотя можно не парится и сделать за 3 минуты через рекурсию =) впрочем, может я ошибаюсь

---
... we are walking on a thin line and you better avoid the risk ...


 
hgd   (2006-07-11 20:30) [7]

А пример есть или его суть?


 
grouzd)ev ©   (2006-07-11 20:49) [8]

http://algolist.manual.ru/maths/graphs/shortpath/ или "волновой алгоритм" в поисковике
ну а рекурсию проходят еще в школе =)

---
... we are walking on a thin line and you better avoid the risk ...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
15-1171279411
boriskb
2007-02-12 14:23
2007.03.11
У нас таких нет?


2-1171980520
koha
2007-02-20 17:08
2007.03.11
передать в функцию переменную любого типа


15-1171582908
WiFiLamer
2007-02-16 02:41
2007.03.11
По Wi-Fi


15-1171573566
Cyrax
2007-02-16 00:06
2007.03.11
GUI-библиотеки для C++ без всяких FW и JVM, нормальные, удобные..


1-1169016136
DelphiLexx
2007-01-17 09:42
2007.03.11
Как изменить цвет в TTabControl e




   Наверх