gpt4 book ai didi

delphi - Delphi中的圆角矩形

转载 作者:行者123 更新时间:2023-12-03 18:57:20 30 4
gpt4 key购买 nike

我一直在尝试在边框中绘制一个带间距的圆角矩形,但我似乎无法找到使用 Canvas.RoundRect 函数的方法,而且我自己绘制边缘的数学不太好,我可以绘制使用 Canvas.MoveTo 和 Canvas.LineTo 函数的带间距的矩形,但我不知道如何使边缘变圆。目前我正在做的是我在我想在边框中制作间距的地方制作黄色矩形,但问题是当我打印时我必须直接在打印机 Canvas 上绘制并且我必须在透明纸上绘制,所以背景颜色会导致问题。任何可以帮助我建立自定义绘图程序或告诉我如何删除该区域并仍然在没有任何背景颜色的透明纸上打印的人。黄色背景颜色仅用于预览,当我在打印机 Canvas 上绘图时,背景是透明的。

查看图片以了解我所说的边界线间距是什么意思。

enter image description here

谢谢

最佳答案

您可以通过操作当前设备上下文的剪辑区域来排除间隙。假设 L、R、T 和 B 是您的黄色矩形的坐标以形成间隙,请使用以下代码:

ExcludeClipRect(Canvas.Handle, L, T, R, B); // exclude the gap
Canvas.RoundRect(<whatever you already do here>);
SelectClipRgn(Canvas.Handle, 0); // reset the clipping region

关于delphi - Delphi中的圆角矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12707624/

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