【问题标题】:Is there a way to paint semi transparently on a PictureBox?有没有办法在 PictureBox 上半透明地绘画?
【发布时间】:2009-07-23 22:57:34
【问题描述】:

我为PictureBox 控件使用透明背景。

但我也希望能够使用不透明度为 %50 的蓝色FillRectangle 进行绘画。

如何做到这一点?

【问题讨论】:

    标签: c# .net winforms gdi+


    【解决方案1】:

    .NET WinForm 控件本身不支持透明度,但 GDI+ 支持一般渲染。如果您要渲染到 PictureBox(或其他任何东西)上并且想要渲染具有部分不透明度的东西,则创建一个 alpha 值小于 255(不透明)的颜色,并使用它来创建画笔或钢笔。

    例如:

    Color c = Color.FromArgb(128, Color.Blue);
    using (Brush b = new SolidBrush(c))
    {
      e.Graphics.FillRectangle(b, 0, 0, 50, 50);
    }
    

    【讨论】:

    • 是的,PictureBox 相当有限。您可能必须开始自己的 OnPaint 事件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    相关资源
    最近更新 更多