Вниз
Скачать: 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.034 c
6-1159790021
Script
2006-10-02 15:53
2007.03.11
Пинг нескольких компов одновременно


15-1171541037
Gin2
2007-02-15 15:03
2007.03.11
DB2 Express-C 9 - кто-то юзает?


2-1171724058
Norfolk
2007-02-17 17:54
2007.03.11
TPageControl запись в поле Edit на второй вкладке.


8-1152164194
Нуждающийся
2006-07-06 09:36
2007.03.11
Выбор устройства для записи


3-1166062851
NigthSkif
2006-12-14 05:20
2007.03.11
Исключения




   Наверх