相当于C#中VB6.0的MaskColor属性

发布于 2024-11-30 10:32:56 字数 86 浏览 2 评论 0原文

VB 6.0 中的MaskColor 属性用于删除Image 的背景颜色。我如何在 C# 中做同样的事情?

The MaskColor property in VB 6.0 is used to remove the background color of an Image. How might I do the same in C#?

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

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

发布评论

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

评论(2

风柔一江水 2024-12-07 10:32:56

您可以使用 MakeTransparent(Color 颜色) 对于位图图像。例子:

//convert the red color in the image into transparent.
((Bitmap)BackgroundImage).MakeTransparent(Color.Red);

You can use MakeTransparent(Color color) for the bitmap image. example:

//convert the red color in the image into transparent.
((Bitmap)BackgroundImage).MakeTransparent(Color.Red);
山川志 2024-12-07 10:32:56

我认为没有任何直接的等价物。

我过去通过使用 ColorMap 类将背景颜色映射到 Color.Transparent 来使其工作。然后,我创建一个 ImageAttributes 对象并调用 SetRemapTable() 函数并将其传递给我的 ColorMap。然后,通过将 ImageAttributes 传递给 DrawImage 方法来重新绘制图像。

编辑:

Jalal 发布了一种更简单的纯色方法。我仔细查看了使用上述方法的代码,我将相同基色的多个阴影映射为透明。

I don't think there is any direct equivalent.

I've made it work in the past by using the ColorMap class to map my background color to Color.Transparent. Then I create an ImageAttributes object and call the SetRemapTable() function and pass it my ColorMap. Then you redraw the image by passing the ImageAttributes to the DrawImage method.

Edit:

Jalal posted a much easier way for a solid color. I took a closer look at the code where I was using the method above, I was mapping more than one shade of the same base color to transparent.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文