2016-03-03 5 views
1

Я использую следующий код, чтобы добавить текст к изображению:C# GraphicsPath добавление текста с непрозрачностью

private void AddText(Graphics graphics, FontDetails fontDetails, Rectangle destination) 
    { 
     using (GraphicsPath graphicsPath = new GraphicsPath()) 
     { 
      graphicsPath.AddString(
       "My sample text", 
       fontDetails.FontFamily, 
       fontDetails.FontStyle, 
       fontDetails.FontEmHeight, 
       destination, 
       fontDetails.FontStringFormat 
      ); 

      graphics.FillPath(new SolidBrush(FontColour), graphicsPath); 
     } 
    } 

Это прекрасно работает. Я хочу иметь возможность применить эффект непрозрачности к тексту, но не могу найти способ сделать это.

Любая помощь была бы принята с благодарностью.

+1

использовать альфа, как FontColour = Color .FromArgb (32, Color.Black); Уберите кисть. –

ответ

1

Я думаю, вы можете добавить значение непрозрачности к твердой щетке, если вы строите это следующим образом:

SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(128, 0, 0, 255)); 
graphics.FillPath(semiTransBrush, graphicsPath); 

Когда вы заполните форму, вы должны передать объект Brush одному из методов заливки класс Graphics. Один параметр конструктора SolidBrush является объектом Color. Для того, чтобы заполнить форму непрозрачный, установить альфа-компонент цвета до 255. Для того, чтобы заполнить форму полупрозрачной, установите альфа-компонент на любое значение от 1 до 254.

https://msdn.microsoft.com/en-us/library/5s2dwfx1(v=vs.110).aspx