Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.11;
Скачать: 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 вся ветка

Текущий архив: 2007.03.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.062 c
3-1165990587
Алексей В.
2006-12-13 09:16
2007.03.11
QReport, текст после бенда Detail


3-1165934673
barakuda
2006-12-12 17:44
2007.03.11
Добавить поле


15-1171396436
Суслик
2007-02-13 22:53
2007.03.11
Вопрос по Excel - автоопределение высоты ряда


2-1171645054
RedBanner
2007-02-16 19:57
2007.03.11
Хитрость


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