用双缓冲画图时建立的画布有背景色,如何将背景色透明

时间:2023-02-04 21:31:50
用双缓冲画图时建立的画布有背景色,如何将背景色透明。
对话框有个背景色,双缓冲画布也有背景色,用来重绘的图片PNG格式,有部分透明。
如何把画图和对话框的背景色透明,以至图片显示时透明部分显示的是桌面或者其他窗口图

8 个解决方案

#1


用的是GDI绘图,所有绘图都是在OnPaint函数里进行的,将pDC->SetBKMode()设置透明是没有效果的..

#2


取桌面对应位置的图后再在其上绘制。

#3


引用 2 楼 zhao4zhong1 的回复:
取桌面对应位置的图后再在其上绘制。

请问如何取桌面对应位置?

#4


引用 2 楼 zhao4zhong1 的回复:
取桌面对应位置的图后再在其上绘制。

位置我能确定,就是如何生成带有对应位置图像的CBitmap

#5


以前玩C#试过,插入图片做背景,有相应的函数设置成透明。

自己实现的话,觉得原理上还是要取桌面图片与背景图片进行alpha混合操作。

#6


引用 5 楼 Binzo 的回复:
以前玩C#试过,插入图片做背景,有相应的函数设置成透明。

自己实现的话,觉得原理上还是要取桌面图片与背景图片进行alpha混合操作。

我要的是具体的处理方法...

#7


想透明 就得分层窗口 用双缓冲画图时建立的画布有背景色,如何将背景色透明

#8


我需要的是一个圆角矩形,多方查阅后发现MFC里面用CreateRoundRectRgn函数能直接生成圆角矩形,用不着透明。问题解决了。

#1


用的是GDI绘图,所有绘图都是在OnPaint函数里进行的,将pDC->SetBKMode()设置透明是没有效果的..

#2


取桌面对应位置的图后再在其上绘制。

#3


引用 2 楼 zhao4zhong1 的回复:
取桌面对应位置的图后再在其上绘制。

请问如何取桌面对应位置?

#4


引用 2 楼 zhao4zhong1 的回复:
取桌面对应位置的图后再在其上绘制。

位置我能确定,就是如何生成带有对应位置图像的CBitmap

#5


以前玩C#试过,插入图片做背景,有相应的函数设置成透明。

自己实现的话,觉得原理上还是要取桌面图片与背景图片进行alpha混合操作。

#6


引用 5 楼 Binzo 的回复:
以前玩C#试过,插入图片做背景,有相应的函数设置成透明。

自己实现的话,觉得原理上还是要取桌面图片与背景图片进行alpha混合操作。

我要的是具体的处理方法...

#7


想透明 就得分层窗口 用双缓冲画图时建立的画布有背景色,如何将背景色透明

#8


我需要的是一个圆角矩形,多方查阅后发现MFC里面用CreateRoundRectRgn函数能直接生成圆角矩形,用不着透明。问题解决了。