【发布时间】:2018-01-15 05:01:51
【问题描述】:
如何使用Delphi和Firemonkey绘制一个中间有透明圆孔的蓝色正方形,如下图?
我想画这样的东西:
但我找不到使圆圈透明的方法:(
【问题讨论】:
-
3 步:画无填充的正方形,画无填充的圆形,然后在区域之间使用泛色填充。
-
我对 Firemonkey 画布不太熟悉,但我确信它具有 Flood Fill 功能,例如 VCL。这与在图像编辑器中使用“油漆桶”本质上是一样的。提供该区域内的颜色和点。
-
@Jerry,我想说,裁剪画布区域可能是一个更好的选择。
-
Flood 填充可能很难做到正确,这取决于画布上已有的内容。毕竟,如果洞需要是透明的,那么那里可能已经有一些东西需要显示出来,所以从任何给定点进行泛洪填充肯定会错过目标区域中的某些东西。
-
FMX 中正确的方法是创建一个路径(TPathData)然后填充路径。 FMX 中的大多数绘图函数(如 Canvas.FillRect)实际上会创建一个 Path 并填充它。
标签: delphi firemonkey