Delphi 7 - 使用 Canvas 绘制带有透明核心的圆

标签 delphi canvas delphi-7

我正在尝试使用 Delphi 7Canvas 绘制一个简单的圆圈,但我怀疑我想要做的是否可行。

如下图,我想画一个没有核心/中心的圆:

Core transparent Pie

根据杰里·道奇的建议:

enter image description here

  • 我不需要红色部分,只需要蓝色部分。

使用的代码:

Canvas.Brush.Style := bsClear;
Canvas.Pen.Style := psSolid;
Canvas.Pen.Color := clGreen;
Canvas.Pen.Width := 20;
Canvas.Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4);
<小时/>

旧信息:

背景图像是一个简单的 TImage 组件,我使用以下命令绘制圆圈:

Canvas.Brush.Color := clgreen;
Canvas.Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4);
<小时/>

可能吗?

<小时/>

在 Tom Brunberg 和 Jerry Dodge 的帮助下解决了!

结果:

tom

<小时/>

感谢您的帮助!

最佳答案

我可以想到几种方法来做到这一点,但最简单的方法是使用大笔宽度且不填充。例如...

Canvas.Brush.Style := bsClear;
Canvas.Pen.Style := psSolid;
Canvas.Pen.Color := clGreen;
Canvas.Pen.Width := 50;
Canvas.Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4);

但是,在您的情况下,Pie 不是正确的方法,因为它也会在中间留下线条。您必须使用 Arc 来代替。

关于Delphi 7 - 使用 Canvas 绘制带有透明核心的圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43258875/

相关文章:

Delphi - 制作一个自解压 MIDI 文件的 Delphi 程序

delphi - 使用Tobybears VST模板获得完整的音频频谱?

jquery - 将记录转换为序列化表单数据以通过 HTTP 发送

delphi - 使用派生接口(interface)时接口(interface)委托(delegate)不起作用

javascript - 检查矢量/Angular 是否与区域相交

canvas - 将网络摄像头流作为 WebGL 纹理进行操作?

javascript - 如何在没有php,jquery的情况下将 Canvas 图像保存到mySQL

delphi - 如何使用 Delphi 7 将文本文件从 ANSI 转换为 UTF-8?

delphi - 将图标从图像列表绘制到 ListView ?

delphi - TDateTimePicker 的 BoldDays?