我有一个使用WinAPI编写的C++控件,我希望能够自动测试它是否正确绘制。我可以将绘制出来的图像与保存的参考图像进行比较,也可以测试特定像素的颜色是否正确。我已经实现了这两种类型的测试。
问题在于,这些测试现在每晚都在一个虚拟机上运行,该虚拟机只支持16位颜色深度,导致颜色会稍微偏差。我尝试过使用不会因16位颜色深度而改变的颜色,但舍入方案似乎相当复杂,我需要让测试在32位和16位颜色深度下都有效。
另一个想法是创建一个始终具有32位颜色深度的离屏位图。这样做的好处是测试每次都使用相同的环境,但我无法使其正常工作。如何创建一个32位HBITMAP和HDC,无论屏幕颜色深度如何?或者您有其他解决一般问题的建议吗?
谢谢
问题在于,这些测试现在每晚都在一个虚拟机上运行,该虚拟机只支持16位颜色深度,导致颜色会稍微偏差。我尝试过使用不会因16位颜色深度而改变的颜色,但舍入方案似乎相当复杂,我需要让测试在32位和16位颜色深度下都有效。
另一个想法是创建一个始终具有32位颜色深度的离屏位图。这样做的好处是测试每次都使用相同的环境,但我无法使其正常工作。如何创建一个32位HBITMAP和HDC,无论屏幕颜色深度如何?或者您有其他解决一般问题的建议吗?
谢谢