delphi – 是否可以改变一条线的大小?
发布时间:2020-12-15 09:23:59 所属栏目:大数据 来源:网络整理
导读:我在T Image Canvas上绘制了一条虚线,发现破折号的大小对于绘图区来说太大了.有没有办法改变画布上画线的破折号? 这就是我能够绘制虚线的方法. Canvas.Pen.Style := psDash;Canvas.Polyline(myPoints); 我没有找到任何可以改变破折号尺寸/长度的Pen属性. 谢
我在T
Image Canvas上绘制了一条虚线,发现破折号的大小对于绘图区来说太大了.有没有办法改变画布上画线的破折号?
这就是我能够绘制虚线的方法. Canvas.Pen.Style := psDash; Canvas.Polyline(myPoints); 我没有找到任何可以改变破折号尺寸/长度的Pen属性. 谢谢 解决方法
根据
http://docwiki.embarcadero.com/VCL/e/index.php/Graphics.TPenStyle,您可以使用psUserStyle
ExtCreatePen的文档是http://msdn.microsoft.com/en-us/library/dd162705(VS.85).aspx 以下是我对ExtCreatePen如何与TPen结合使用的解释: const NumberOfSections = 8; LineLengths: array[0..NumberOfSections-1] of DWORD = (20,15,14,17,8,16,9); var logBrush: TLogBrush; begin logBrush.lbStyle := BS_SOLID; logBrush.lbColor := DIB_RGB_COLORS; logBrush.lbHatch := HS_BDIAGONAL; // ignored Canvas.Pen.Handle := ExtCreatePen(PS_GEOMETRIC or PS_USERSTYLE or PS_ENDCAP_ROUND or PS_JOIN_BEVEL,4,logBrush,NumberOfSections,@LineLengths[0]); // now Canvas.Pen.Style = psUserStyle Canvas.Polyline([Point(0,0),Point(100,100),Point(200,100)]); end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |