Das riecht für mich nach einer Rekursion. In etwa so: (Pseudocode)
Delphi-Quellcode:
var
Pixelliste: TList (oder ähnliches);
procedure MakePixellist(x, y: Integer {Startpunkt}; c: TColor);
begin
if PixelIstNichtInListe then
begin
if FabeAtXY = c then
begin
PackeXYinDieListe;
MakePixellist(x+1, y , c);
MakePixellist(x , y+1, c);
MakePixellist(x-1, y , c);
MakePixellist(x , y-1, c);
end;
end;
end;
So in etwa müsstest du an alle zusammenhängenden Pixel einer Farbe ausgehend vom Startpixel heran kommen.
Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel