有没有办法确定两张图片是否相同? 我想在每次计时器滴答(动画)时更改图像。 但是,我需要查看哪个图像正在显示,所以有没有办法比较2个图像 做我想做的事情?
if (myImage.Flags == (Image.FromFile(@"Images/Enemy.png").Flags))
{
myImage = Image.FromFile(@"Images/Enemy2.png");
}
else
{
myImage = Image.FromFile(@"Images/Enemy.png");
}
答案 0 :(得分:3)
不要比较图像,只需将当前图像的索引保存在变量中。
这是一个适用于任意数量图像的示例:
private int _currentImageIndex;
private string[] _imagePaths =
{
"Images/Enemy.png",
"Images/Enemy2.png",
"Images/Enemy3.png",
};
...
void NextImage()
{
// Dispose the current image
Image img = pictureBox1.Image;
pictureBox1.Image = null;
if (img != null)
img.Dispose();
// Show the next image
_currentImageIndex = (_currentImageIndex + 1) % _imagePaths.Length;
string path = _imagePaths[_currentImageIndex];
pictureBox1.Image = Image.FromFile(path);
}
答案 1 :(得分:0)
我试着比较ImageLocation。虽然如果将图片作为资源,它就不起作用。
if (PictureBox1.ImageLocation == PictureBox2.ImageLocation)
{
}
答案 2 :(得分:0)
这里回答简单。
如果只有2张图片,请使用标记
// field, true if enemy2.png is loaded
bool _image2;
// somewhere
if(_image2)
{
myImage = Image.FromFile(@"Images/Enemy.png");
_image2 = false;
}
else
{
myImage = Image.FromFile(@"Images/Enemy2.png");
_image2 = true;
}