Сравните изображения, чтобы убедиться, что они одинаковы

Я пытаюсь создать игровой автомат, у меня есть 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.

Я также не могу сравнивать размер или расширение, потому что они все одинаковые. Я не хочу использовать несколько генераторов случайных чисел для выбора случайных изображений и сравнения разных случайных чисел. Есть ли трюк, который я могу сделать со списком изображений, о котором я не подумал


person user3517477    schedule 10.04.2014    source источник
comment
как насчет имени файла?   -  person mhs    schedule 10.04.2014


Ответы (2)


Одним из вариантов может быть использование свойства Tag... оно есть у многих классов, включая Bitmap, Image и PictureBox. Вы можете присвоить уникальное значение каждому 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)
{
    ...
}
person Grant Winney    schedule 10.04.2014

Когда ваш генератор случайных чисел выбирает индекс элемента, который вы будете извлекать из списка изображений, сохраните индекс в picturebox.Tag или picturebox.Text, а затем сравните, равны ли оба тега и текста.

person DanielCuadra    schedule 10.04.2014