Как нарисовать прозрачную линию на Winform? - PullRequest
1 голос
/ 08 декабря 2011

Я хотел бы нарисовать прозрачную линию на 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 ]

2 голосов
/ 08 декабря 2011

Вы можете использовать Color.FromArgb, чтобы создать прозрачный цвет.

Код для создания пера становится (я думаю, это код Delphi):

  var thepen := new pen(Color.FromArgb(127, color.black),3); 
0 голосов
/ 09 декабря 2011

Как предложил Ханс Пассант, Color.Transparent прекрасно работает, но вы должны либо добавить дополнительные строки кода, либо придумать логику, чтобы это работало особенно при работе с HatchBrush и SolidBrush. Однако это работает.

...