c++gdi如何让图片透明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++gdi如何让图片透明相关的知识,希望对你有一定的参考价值。

参考技术A GDI+中这个重载函数可以实现
Graphics.DrawImage ( _
image As Image, _
destRect As Rectangle, _
srcX As Integer, _
srcY As Integer, _
srcWidth As Integer, _
srcHeight As Integer, _
srcUnit As GraphicsUnit, _
imageAttr As ImageAttributes _
)

ImageAttributes有个成员方法.SetColorKey (Color, Color) ,可以设置透明色范围.如果你要做渐变透明也可以修改其他属性.比如使用颜色替换,背景色替换成半透明色

C# GDI+导入图片如何让背景透明

我有一图片背影是单色的,主体是一红苹果,如可让运行程序中只显示红苹果呢?(不能用TransparencyKey,因为有的电脑上不能透明背景)

GDI+中这个重载函数可以实现
Graphics.DrawImage ( _
image As Image, _
destRect As Rectangle, _
srcX As Integer, _
srcY As Integer, _
srcWidth As Integer, _
srcHeight As Integer, _
srcUnit As GraphicsUnit, _
imageAttr As ImageAttributes _
)

ImageAttributes有个成员方法.SetColorKey (Color, Color) ,可以设置透明色范围.如果你要做渐变透明也可以修改其他属性.比如使用颜色替换,背景色替换成半透明色
参考技术A 软糖来告诉你把~
⒈ 建立一个 Bitmap 位图对象以导入图片。

Bitmap 位图 = new Bitmap(@"C:\图片路径\123.png");
⒉ 将左上角坐标 (0, 0) 的颜色设置为透明色。
位图.MakeTransparent(位图.GetPixel(0, 0));
至此该位图已经变为透明了,你可以通过下面语句设置窗体的透明背景。
Form1.BackgroundImage = 位图;
// 最后调整一下背景图的拉伸模式
Form1.BackgroundImageLayout = ImageLayout.Stretch;
参考技术B 看不明白你的意思,你是要用 GDI+ 处理图片呢? 还是要把 作为背景图片的背景色去掉?

以上是关于c++gdi如何让图片透明的主要内容,如果未能解决你的问题,请参考以下文章

c#2个 picturebox控件重叠如何实现透明

在C#.net代码中如何生成透明背景的png图片

C语言API如何让窗口里的部分背景透明?

C#程序设计窗体如何将导入的图片背景变成透明?

怎么让JPG或BMP格式的背景变透明,麻烦有详细步骤,我是初级学者

java 图片如何让白色变透明