C#比较两个图像

时间:2013-11-06 13:02:21

标签: c# image selenium selenium-webdriver

我的图片有500 * 500像素。当我将此图像上传到我的网站时,它会变为250 * 200像素。在这里,我需要使用Selenium Web驱动程序验证我站点中显示的图像是否与我选择上传的图像匹配。可能两张图片都是一样的。

但是由于像素不同,我能否使用Selenium Web驱动程序匹配这两个图像?

我尝试过Byte数组转换,GetHashCode()用于比较图像。但是两个图像的字节数组和哈希码都不同。

这可以比较和匹配这两个图像吗?如果这些图像的字节数组和哈希码的大小不同,即使将相同的图像上传到网站,它们也会有所不同吗?

请让我离开这个。

提前致谢。

1 个答案:

答案 0 :(得分:1)

两个图像的字节数组相同。通过手动更改图像的分辨率并验证字节数组,我犯了一个小错误。所以可能会改变字节数组。

现在我使用以下代码下载了图像字节数组:

    var src = element.GetAttribute("src");

    //downloads the byte array of the image from its src
    var file = webClient.DownloadData(src);

现在我在网站页面中获得了图像的字节数组。我可以将这个字节数组与我选择上传的物理图像进行比较。

感谢大家的评论。