FMX:用背景色填充整个位图

 落陌_漾吇 发布于 2023-01-05 19:59

我想创建一个TImage组件,并用背景色填充图像。但是我的代码比我预期的要长。

    我必须设置位图的宽度和高度。

    我必须计算整个位图画布的矩形。

如果我没记错的话,在旧的Delphi版本中,我可以用FloodFill特定的颜色填充整个图像。所以我想我确实错过了一些事情。

有人可以弄清楚如何用更简单的代码填充背景色吗?

Image := TImage.Create(nil);
Image.Position.X := 100;
Image.Position.Y := 100;
Image.Width := 500;
Image.Height := 500;
Image.Bitmap.Width := Trunc(Image.Width);
Image.Bitmap.Height := Trunc(Image.Height);
with Image.Bitmap.Canvas do
begin
  BeginScene;
  try
    Fill.Color := TAlphaColors.Black;
    FillRect(RectF(0, 0, Image.Bitmap.Width, Image.Bitmap.Height), 0, 0, [], 1.0);
  finally
    EndScene;
  end;
end;

Sebastian Z.. 5

FMX中没有FloodFill。但是您可以使用Clear(TAlphaColors.Black);以便用一种颜色填充整个位图。

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有