【发布时间】:2014-08-28 16:46:10
【问题描述】:
我想创建一个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;
【问题讨论】:
-
你最好停止使用 with。您需要的是一个局部变量 Bitmap,因此您只需要编写一次 Image.Bitmap。尽量不要以这种方式重复自己。
标签: delphi canvas bitmap firemonkey graphic