【发布时间】:2016-05-08 13:49:51
【问题描述】:
我想在Firemonkey项目的TPaintbox画布上画一个虚线网格,结果应该是这样的:
首先,我想我会先画垂直虚线,然后再画水平虚线,所以考虑到这一点,我尝试先画一条线以使外观恰到好处,这就是我尝试过的:
Canvas.Stroke.Color := TAlphaColorRec.Black;
Canvas.Stroke.Dash := TStrokeDash.Dot;
Canvas.Stroke.Kind := TBrushKind.Solid;
Canvas.Stroke.Thickness := 1;
Canvas.DrawLine(PointF(0, 0), PointF(0, 150), 1);
结果不是我所希望的,事实上TLine的形状可以按照我的意愿做一条虚线:
但我需要自己在画布上绘制,而不是使用额外的控件。记录一下TLine 只需要将 Stroke.Dash 属性更改为 Dot。
那么,在 Firemonkey 项目中使用画布如何绘制与TLine 相同的虚线,以便像第一张示例图像一样绘制网格?
【问题讨论】:
-
只是我在这里添加的一个注释,将粗细设置为 2 显示为虚线,但不够小/不够细。
-
附加说明,没有意识到你可以使用像 0.5 这样的浮点值来表示粗细,但仍然无法使绘制的线条看起来正确。
标签: delphi firemonkey delphi-xe7