Delphiでお手軽プログラミング

Delphiでお手軽プログラミングメニュー

DelphiのCanvas.FloodFillでBitpmapを境界線まで塗りつぶす、指定色を塗りつぶす

DelphiのCanvas.FloodFillで、Bitpmapを指定した境界色までの領域を現在Brushで塗りつぶし、指定した色で塗りつぶされている領域を現在のBrushで塗りつぶし


1.Canvas.FloodFill関数の第4引数で「fsBorder」を指定する場合

黒の境界線の内側領域を赤に塗りつぶす


procedure TForm1.Button1Click(Sender: TObject);
begin
  //指定した境界色までの領域を現在Brushで塗りつぶし
  //bmp.Canvas.FloodFill(
  //  基準x,基準y,境界色, fsBorder
  //);

  //ブラシの色を赤に設定する
  Image1.Picture.Bitmap.Canvas.Brush.Color:=clRed;
  //黒色の境界の内側領域を、赤に塗る
  Image1.Picture.Bitmap.Canvas.FloodFill(
    60, 100, clBlack, fsBorder);
end;
				


2.Canvas.FloodFill関数の第4引数で「fsSurface」を指定する場合

スカイブルー色の領域を赤に塗りつぶす


procedure TForm1.Button2Click(Sender: TObject);
begin
  //指定した色で塗りつぶされている領域を現在のBrushで塗りつぶし
  //bmp.Canvas.FloodFill(
  //  基準x,基準y,塗りつぶされている色, fsSurface
  //);

  //ブラシの色を赤に設定する
  Image1.Picture.Bitmap.Canvas.Brush.Color:=clRed;
  //スカイブルー色の領域を、赤に塗る
  Image1.Picture.Bitmap.Canvas.FloodFill(
    60, 100, clSkyBlue, fsSurface);
end;
				




Copyright 2019 Mam