Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Delphi floodfill

Dobry den mel bych navas dotaz delam si omalovaky a pouzivam floodfill
Brush.Color:=clred;
(Image1.Canvas.FloodFill(x+8, y+8, clblack, fsborder );) diky tomuhle by semela oblast ktera je ohranicena cernou barvou vybarvit cervenou ze?ale stava se mi ze zmeto vybarvi cely image:( nevim co stim mohli byste mi nejak poradit jak nato
nebo pripadne zda nemate uz scr od nejakych hotvych omalovanek
dekuji...

Předmět Autor Datum
Tohle se stane, pokud ta cerna cara neni spojita. Asi ti nezbude nic jineho, nez to v nejakem grafic…
Jan Fiala 30.09.2006 12:24
Jan Fiala
jj to sem kontroloval a vim na 100% ze je:( nic jineho te nenapada? pripadne nejaky src? //nactu im…
MIrekkk 30.09.2006 12:33
MIrekkk
Muzes prosim nekam hodit ten obrazek, aby bylo mozne se na nej podivat ? Problem muze byt i v tom, z…
Jan Fiala 30.09.2006 12:36
Jan Fiala
jj jiste na s.bmp drak.bmp doufam ze je chyba tam bo nevim:/
MIrekkk 30.09.2006 12:54
MIrekkk
a jeste kdyz sito otevru treba v MSpaintu tak to de:(
MIrekkk 30.09.2006 13:00
MIrekkk
tak uz mito de zmenil sem Brush.Color:=clred; Image1.Canvas.FloodFill(x+8, y+8, clblack, fsborder'…
MIrekkk 30.09.2006 13:04
MIrekkk
a tak to nejde uplne vybarvujeto porad cernou:(alehranice fuguji
MIrekkk 30.09.2006 13:07
MIrekkk
Tvuj problem je v tom, ze mas obrazek v BMP a pouze cernobily. Jak chces do takove bitmapy malovat c…
Jan Fiala 30.09.2006 14:00
Jan Fiala
Sice trochu pozde ale pomohlo mito fakt diiiik poslední
Mirekkk 13.01.2007 13:32
Mirekkk

jj to sem kontroloval a vim na 100% ze je:( nic jineho te nenapada?
pripadne nejaky src?

//nactu img to de

procedure TForm1.Image3MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Image1.Picture.LoadFromFile('C:\Do cuments and settings\xxx\Plocha\DEPLHI\omalovanky\holcickacb.b mp');
end;
//atdy barvim az nato ze nebarvim:(
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Brush.Color:=clred;
Image1.Canvas. FloodFill(x+8,y+8,clblack,fsborder);

end;

[mod]Zkus priste oznacit kod a pouzit ikonku "Pas". Je to o neco citelnejsi... (JaFi)[/mod]

tak uz mito de zmenil sem
Brush.Color:=clred;
Image1.Canvas.FloodFill(x+8, y+8, clblack, fsborder'

na

form1.Image1.Canvas.Brush.Color :=clred;
form1.Image1.Canvas.FloodFill(x+8,y+8,clb lack,fsborder);

tak uz bych jenom prosil ovysvetleni protoze vtom nevidim rozdil dekuji...

Tvuj problem je v tom, ze mas obrazek v BMP a pouze cernobily. Jak chces do takove bitmapy malovat cervene ? Bud budes mit bitmapy napr. v 256 barvach - nedoporucuju, protoze y byly zbytecne velike, nebo pouzijes nejaky inteligentnejsi format (PNG) nebo si zmnis bitmapu na barevnou az v programu.

Tady je kod, ktery demonstruje 3. moznost:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('Drak.bmp');
  { zmenime si obrazek z cernobileho na barevny }
  Image1.Picture.Bitmap.PixelFormat := pf8bit;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  Image1.Canvas.Brush.Color:=clred;
  Image1.Canvas.FloodFill(x+8, y+8, clBlack, fsBorder);
end;

Tady mas "naklikane" zdroje velmi jednoduchych omalovanek:
omalovanky.zip (1kB)

Zpět do poradny Odpovědět na původní otázku Nahoru