我有一个Windows应用程序,其中包含一些对话框。对话框已经使用mfc编译。我使用CImage :: Draw()方法在每个对话框上绘制一些图像(.png)。我想提到的是,我没有在对话框中使用任何图片控件来渲染这些图像,而是在运行时使用一些handle来加载它们,这一切都很好。现在当图像加载时,这些图像的背景会变成白色。资源文件中的图像没有白色背景。我的问题是如何改变这些图像的背景,同时在对话框上绘制它们?我想要图像的背景类似于我正在使用的默认对话框的颜色。 还有一个问题,在windows server 2008 R2机器的对话框中,.png图像渲染不好(图像分散)。可能的补救办法是什么? 任何帮助将不胜感激。如何更改mfc中CImage对象的背景颜色?
0
A
回答
1
您的PNG图像显然不是32位。您需要一个Alpha通道和一个透明背景。在例如打开你的图像Paint.NET。我敢打赌你的背景也是白色的!关于图像质量,您是否在拉伸时拉伸图像?
编辑:对于8位成像器,我认为需要拨打SetTransparentColor。对于32位图像,这个函数可能会这样做:TransparentBlt
相关问题
- 1. 在MFC对话框中更改菜单栏背景颜色
- 2. 如何更改MFC动画控件的背景颜色
- 3. JTable中如何更改背景颜色
- 4. 如何更改Radscheduler的背景颜色
- 5. 如何更改JLabel的背景颜色?
- 6. 如何更改SFSafariViewController的背景颜色?
- 7. 如何更改fusionchart的背景颜色?
- 8. 如何更改editText的背景颜色?
- 9. 如何更改JFrame的背景颜色
- 10. 如何更改ggvis的背景颜色?
- 11. 如何更改tr的背景颜色
- 12. 如何更改gnuplot的背景颜色?
- 13. 如何更改apDiv的背景颜色?
- 14. 如何更改GtkTextView的背景颜色?
- 15. 如何更改JOptionPane的背景颜色?
- 16. 如何更改PopupMenu背景的颜色
- 17. 如何更改ListViewItem的背景颜色?
- 18. 如何更改gtk.MenuItem()的背景颜色
- 19. 更改MFC中组合框的项目背景颜色?
- 20. 如何从黑色背景更改背景颜色?
- 21. 更改背景颜色
- 22. 更改背景颜色
- 23. 更改QLPreviewController背景颜色
- 24. 更改背景颜色
- 25. jqueryMobile更改背景颜色
- 26. 更改DIV背景颜色
- 27. 更改背景颜色
- 28. Gnuplot - 更改背景颜色
- 29. 更改背景颜色
- 30. 更改TToolBar背景颜色
png图像只有32位。图像也是背景。我相信这些图像是透明的。因为在其他程序中,相同的图像在做gud。我在哪里犯错误。在加载时没有其他方式来改变图像的背景吗? – dev
查看我的更新回答。 – l33t