我想在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库中也几乎没有任何信息
答案 0 :(得分:2)
您可以使用Color.FromArgb
创建透明色。
创建笔的代码变为(我猜这是Delphi代码):
var thepen := new pen(Color.FromArgb(127, color.black),3);
答案 1 :(得分:0)
正如Hans Passant所建议的那样,Color.Transparent工作得很好,但是你必须添加额外的代码行或提出搞砸逻辑才能使其工作,特别是在处理HatchBrush和SolidBrush时。但是,它有效。