首页 > 解决方案 > 如何在 Delphi (FireMonkey) 中更改画布 FillMode

问题描述

请看一下 FireMonkey 中的这个 TPathData ,它包含两个子路径:第一个是外部矩形,第二个是第一个内部的另一个矩形:

TmpPathData := TPathData.Create;
TmpPathData.Data := 'M1,1 H100 V100 H1 Z   M30,30 H70 V70 H30 Z';

然后我想在 Bitmap 上填充这个路径,所以:

TmpBmp := TBitmap.Create(200, 200);
TmpBmp.Canvas.Fill.Kind := TBrushKind.Solid;
TmpBmp.Canvas.Fill.Color := TAlphaColors.Blue;
TmpBmp.Canvas.BeginScene;
TmpBmp.Canvas.FillPath(TmpPathData, 1);
TmpBmp.Canvas.EndScene;

结果是这样的:

在此处输入图像描述

但我想得到这个:

在此处输入图像描述

所以:如何将 FireMonkey 中的 FillMode 从“Alternate”更改为“Winding”。

注意:我使用的是 Delphi 10.3.3

标签: delphifiremonkey

解决方案


推荐阅读