CDI+ DrawImage()显示的图片如何使其背景色透明?或者设置背景色

时间:2021-06-06 14:51:18
如题
我的对话框背景色为:A(234,125,112),我在该对话框上用DrawImage()显示一张图片,该图片背景色和对话框背景色不一致。请问:我如何将该图片背景色设置成和对话框背景色相一致呢?

6 个解决方案

#1


http://www.cnblogs.com/SunM/archive/2009/10/21/1587414.html

#2


用PNG格式的图

#3



//Bitmap bitmap(300,300);
//CClientDC dc(this);
//ImageAttributes imAtt;
//imAtt.SetColorKey(Color(255,0, 0, 255),Color(255,0, 0, 255));

//Graphics graphics(dc);
//Image image(L"1.bmp");

//graphics.DrawImage(
// &image, 
// Rect(20, 20, image.GetWidth(), image.GetHeight()),  // dest rect
// 0, 0, image.GetWidth(), image.GetHeight(),          // source rect
// UnitPixel,
// &imAtt);

#4



SetColorKey( const Color &colorLow,  //低位颜色值
    const Color &colorHigh,  //高位颜色值
    ColorAdjustType type
);


此方法设置高低颜色键值,以便颜色范围可以成为透明的。对于任何颜色,只要它的三种颜色成分(红、绿、蓝)都处于高低颜色键的对应成分之间,它的颜色就会成为透明的。

ImageAttributes 对象维护五种调整类别的颜色和灰度设置:默认、位图、画笔、钢笔和文本。例如,可以为默认类别指定一个颜色键,为位图类别指定另一个颜色键,再为钢笔类别指定另一个颜色键。

默认的颜色调整设置和灰度调整设置适用于本身没有调整设置的所有类别。例如,如果从来没有为钢笔类别指定任何调整设置,则默认设置适用于钢笔类别。


ps:你只需要一种颜色透明,所以你设成一样就行了

#5


关键色即可

#6


多谢楼上各位!只是我取各个像素,然后设置颜色键值的话,可能多少对个别图片有点影响。所以,最终还是决定用PS了  看来,有些问题还真是我们的程序无法实现的了 呜呜

#1


http://www.cnblogs.com/SunM/archive/2009/10/21/1587414.html

#2


用PNG格式的图

#3



//Bitmap bitmap(300,300);
//CClientDC dc(this);
//ImageAttributes imAtt;
//imAtt.SetColorKey(Color(255,0, 0, 255),Color(255,0, 0, 255));

//Graphics graphics(dc);
//Image image(L"1.bmp");

//graphics.DrawImage(
// &image, 
// Rect(20, 20, image.GetWidth(), image.GetHeight()),  // dest rect
// 0, 0, image.GetWidth(), image.GetHeight(),          // source rect
// UnitPixel,
// &imAtt);

#4



SetColorKey( const Color &colorLow,  //低位颜色值
    const Color &colorHigh,  //高位颜色值
    ColorAdjustType type
);


此方法设置高低颜色键值,以便颜色范围可以成为透明的。对于任何颜色,只要它的三种颜色成分(红、绿、蓝)都处于高低颜色键的对应成分之间,它的颜色就会成为透明的。

ImageAttributes 对象维护五种调整类别的颜色和灰度设置:默认、位图、画笔、钢笔和文本。例如,可以为默认类别指定一个颜色键,为位图类别指定另一个颜色键,再为钢笔类别指定另一个颜色键。

默认的颜色调整设置和灰度调整设置适用于本身没有调整设置的所有类别。例如,如果从来没有为钢笔类别指定任何调整设置,则默认设置适用于钢笔类别。


ps:你只需要一种颜色透明,所以你设成一样就行了

#5


关键色即可

#6


多谢楼上各位!只是我取各个像素,然后设置颜色键值的话,可能多少对个别图片有点影响。所以,最终还是决定用PS了  看来,有些问题还真是我们的程序无法实现的了 呜呜