如何在Winform上绘制透明线?

时间:2011-12-08 15:31:46

标签: .net winforms drawing line delphi-prism

我想在winform上绘制一条透明线。

我可以使用以下代码绘制具有不同模式或DashStyle的行:

 var r := new Rectangle(0,0,0,0);
 var thepen := new pen(color.black,3);
 pen.Dashstyle:= System.Drawing.Drawing2D.DashStyle.Dash;

 r := e.Bounds;
 var beginPoint := new Point( 0, r.Top + r.Height / 2 );
 var endPoint := new Point( r.Right, r.Top + r.Height / 2 );
 e.Graphics.DrawLine( thepen, beginPoint, endPoint );

但我还需要绘制透明线,我不知道如何。我已经在线查看,似乎即使在MSDN库中也几乎没有任何信息

2 个答案:

答案 0 :(得分:2)

您可以使用Color.FromArgb创建透明色。

创建笔的代码变为(我猜这是Delphi代码):

  var thepen := new pen(Color.FromArgb(127, color.black),3); 

答案 1 :(得分:0)

正如Hans Passant所建议的那样,Color.Transparent工作得很好,但是你必须添加额外的代码行或提出搞砸逻辑才能使其工作,特别是在处理HatchBrush和SolidBrush时。但是,它有效。