如何在Graphics32库中绘制矢量圆角矩形?这可能吗?

How to draw Vector rounded rectangle in Graphics32 library? Is this possible?

如何在 Graphics32 库中绘制矢量 rounded rectangle?这可能吗?

不是光栅,应该是矢量。

Graphics32 是一个光栅图像库。它的主要图像类型是 TBitmap32,这是一个光栅图像。它没有矢量图像功能。

如果您进行网络搜索,您会找到一个名为 G32_Interface 的单元,其中包含用于绘制真实字体、贝塞尔曲线、椭圆和旋转椭圆、圆角多边形和样条曲线的例程。它的作者是Roman Gudchenko。

还要检查这个 link draw antialiased rounded rectangle

主干(SVN)中的最新代码包含VPR矢量图形引擎。它仍然处于测试阶段,但已经有好几年了。有了这个,你可以很容易地画出一个圆角矩形:

uses
  GR32, GR32_Polygons, GR32_VectorUtils;

[...]
var
  Points: TArrayOfFloatPoint;
begin
  Points := RoundRect(Rect(RectLeft, RectTop, RectRight, RectBottom), Radius);
  PolyPolygonFS(MyBitmap32, Points, Color32);
end;

其中 RectLeft、RectTop、Radius、Color32 必须由用户指定。