有没有办法在 PictureBox 上半透明地绘制?

发布于 2024-07-27 16:55:32 字数 125 浏览 1 评论 0原文

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

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

这个怎么做?

I use a transparent background for the PictureBox control.

But I also want to be able to paint with a %50 opacity blue FillRectangle.

How to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淑女气质 2024-08-03 16:55:32

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

.NET WinForm controls themselves do not support transparency, but GDI+ does as far as general rendering goes. If you are rendering onto a PictureBox (or onto anything else) and want to render something with partial opacity, then create a color with an alpha value less then 255 (opaque) and use it to create a brush or pen.

For example:

Color c = Color.FromArgb(128, Color.Blue);
using (Brush b = new SolidBrush(c))
{
  e.Graphics.FillRectangle(b, 0, 0, 50, 50);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文