比较图像,看它们是否相同

时间:2014-04-10 00:19:30

标签: c# image compare picturebox imagelist

我正在尝试创建一个老虎机,我有3个空白的图片框和一个带有一堆不同图片的图像列表,我使用随机数生成器将图像从图像列表放入图片框。

现在我如何比较三个随机图片是否匹配?

picturebox1.image == picturebox2.image; 
//doesnt work because names aren't loaded to image property

picturebox1.imagelocation == picture2.imagelocation
//doesn't work because all images come from the same place.

我也无法尝试比较大小或扩展名,因为它们都是相同的 我不想使用多个随机数生成器来选择随机图片并比较不同的随机数。有没有我可以用我没想过的图像列表的技巧

2 个答案:

答案 0 :(得分:0)

当随机生成器选择要从图像列表中提取的元素的索引时,将索引存储在picturebox.Tag或picturebox.Text中,然后比较Tag o Text是否相等。

答案 1 :(得分:0)

一种选择是使用Tag属性...许多类都有一个,包括BitmapImagePictureBox。您可以为每个Image.Tag ...

分配一个唯一值
var bmp = new Bitmap(1,1);
bmp.Tag = "uniqueTag";
pictureBox1.Image.Tag = bmp;   // pictureBox1.Image.Tag == "uniqueTag"

...然后检查是否相等:

if (pictureBox1.Image.Tag == pictureBox2.Image.Tag)
{
    ...
}