1

我正在使用以下代码向图像添加文本:

    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);
        }
    }

这是完美的工作。我希望能够对文本应用不透明效果,但似乎找不到执行此操作的选项。

任何帮助将不胜感激。

4

1 回答 1

1

我认为如果你像这样构造它,你可以为实体画笔添加一个不透明度值:

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

填充形状时,必须将 Brush 对象传递给 Graphics 类的填充方法之一。SolidBrush 构造函数的一个参数是一个 Color 对象。要填充不透明形状,请将颜色的 alpha 分量设置为 255。要填充半透明形状,请将 alpha 分量设置为 1 到 254 之间的任何值。

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

于 2016-03-03T16:59:48.833 回答