Windows版本之间的位图差异

时间:2014-01-29 17:31:41

标签: c# image bitmap windows-xp coded-ui-tests

作为某些自动化测试的一部分,我正在使用UITestControl.CaptureImage()截取UI元素的屏幕截图,并将它们与预期结果进行比较。这在我的Windows 7环境中工作得很好,但是当我开始在Windows XP机器上运行测试时,它会生成与Win7图像略有不同的图像。也就是说,它们是像素对像素相同,但显示其他差异:

  • 使用像素比较工具从视觉角度验证它们是否相同。
  • XP上的位图大约是Windows 7位图的两倍。
  • 在WinMerge中进行比较时,存在明显的差异。

代码非常简单:

public Image TakeWindowScreenshot()
{
    Image screenshot = null;
    screenshot = uiMapAds.TestApplication.UIItemWindow.UIItemImage.CaptureImage();
    return screenshot;
}

string pathToNewScreenshot = "C:\foo.bmp";
Image screenshot = TakeWindowScreenShot();
Bitmap screenshotBitmap = new Bitmap(screenshot);
screenshotBitmap.Save(pathToNewScreenshot);

有谁知道这里发生了什么?它在Windows 8中也可以正常工作,因此XP是异常值。另一件可能很重要的事情是Windows XP机器/操作系统是32位而其他机器是64位,尽管所有位图都是32 BPP。

0 个答案:

没有答案