我有 2 张图片都是通过 javascript 画布生成的。我想检查两个图像是否相同。为此,我生成了一组图像并将它们保存为 png 文件。然后我尝试比较之前生成的图像和新生成的图像的 dataUrls。但是 dataUrls 是不同的。为什么呢?
我用compare
imagemagick 来仔细检查,这些图像真的是一样的。唯一的区别是,第一个可作为文件使用,而另一个可通过画布元素使用。
我以这种方式生成了 dataUrls:
// first image: available as file:
<img src="image.png"> // var img = ...
var canvas1 = document.createElement('canvas')
canvas1.width = img.width
canvas1.height = img.height
canvas1.getContext('2d').drawImage(img,0,0)
canvas1.toDataURL()
// second image generated on canvas
canvas2.width = 500
canvas2.height = 500
canvas2.getContext('2d').rect(20,20,150,100);
canvas2.toDataURL()
请注意,这只是某些图片的问题 - 并非全部。上面显示的简单示例完全有效。