首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >判断两个镜像是否相同

问判断两个镜像是否相同
EN

Stack Overflow用户
提问于 2014-02-05 23:22:32
回答 3查看 221关注 0票数 1

有没有办法确定两个图像是否相同?我想在我的计时器滴答作响(动画)的时候改变一个图像。但是,我需要看到哪个图像正在显示,所以有没有办法比较两个图像来做我想要的?

代码语言:javascript
复制
if (myImage.Flags == (Image.FromFile(@"Images/Enemy.png").Flags))
{
     myImage = Image.FromFile(@"Images/Enemy2.png");
}
else 
{
     myImage = Image.FromFile(@"Images/Enemy.png");
}
EN

回答 3

Stack Overflow用户

发布于 2014-02-05 23:31:22

不要比较图像,只需在变量中维护当前图像的索引。

下面是一个适用于任意数量的图像的示例:

代码语言:javascript
复制
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);
}
票数 3
EN

Stack Overflow用户

发布于 2014-02-05 23:29:33

我会试着比较一下ImageLocation。尽管如果你有你的图片作为资源,它就不起作用了。

代码语言:javascript
复制
if (PictureBox1.ImageLocation == PictureBox2.ImageLocation)
{

}

请看我的问题:Dynamically changing image in a picturebox

票数 0
EN

Stack Overflow用户

发布于 2014-02-05 23:51:28

这是一个简单的答案。

如果只有2个图像,请使用flag

代码语言:javascript
复制
// 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;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21581233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档