2016-03-03 21 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 =颜色.FromArgb(32,Color.Black);配置画笔。 –

回答

1

我觉得你可以,如果你建造像这样的不透明度值添加到固体刷:

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

当您填写的形状,你必须通过刷对象的填充方法之一Graphics类。 SolidBrush构造函数的一个参数是一个Color对象。为了填充一个不透明的形状,颜色的阿尔法分量设置为255来填充一个半透明状,设置阿尔法分量从1的任何值到254

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