gpt4 book ai didi

delphi - 将多边形缩小为 TPoint 数组?

转载 作者:行者123 更新时间:2023-12-03 15:16:49 25 4
gpt4 key购买 nike

我正在利用TCanvas.Polygon()并且想知道如何缩小多边形的大小,如果已经有一个函数,或者如何编写一。我有一个声明为 TPoints: Array of TPoint; 的类型,并在调用 TCanvas.Polygon() 时使用它。

问题是,如果我必须编写这个函数,它如何识别每个点需要移动的哪个方向(基于与多边形其余部分的比例)?

例如,如果我制作了一个点数组 (TPoints) 来表示一颗 5 角星,并且需要将其缩小 2 个像素,那么它如何知道移动点的方向?

最终目的是实现多边形的渐变。将有一个循环来执行此操作,其中 a) 稍微调整颜色,b) 多边形点需要缩小几个像素,以及 c)绘制多边形(比之前绘制的小) );因此,创建一个渐变。

最佳答案

在我看来,您正在寻找一种进行多边形偏移的方法 - 将多边形缩小或扩大指定数量的单位(像素)。我的Clipper Library (用 Delphi、C++ 和 C# 编写)进行多边形偏移。 “点移动的方向”(即缩小或扩展)将取决于向OffsetPolygons提供的“delta”参数的符号(正与负)。功能。

关于delphi - 将多边形缩小为 TPoint 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10475631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com