C#中如何判定picturebox和imagelist中某个图片是否是同一个图片 ,我尝试使用这个方法但是运行时不启作用
3个回答
展开全部
//比较两张图片是否是同一张 ,文件名不一样也能比较的出来
public bool EQimgs(Image img1, Image img2)
{
if (img1 == null && img2 == null) return false;
MemoryStream ms1 = new MemoryStream();
byte[] imagedata1 = null;
img1.Save(ms1, System.Drawing.Imaging.ImageFormat.Jpeg);
imagedata1 = ms1.GetBuffer();
MemoryStream ms2 = new MemoryStream();
byte[] imagedata2 = null;
img2.Save(ms2, System.Drawing.Imaging.ImageFormat.Jpeg);
imagedata2 = ms2.GetBuffer();
if (imagedata1.Length != imagedata2.Length) return false;
for (int i = 0; i < imagedata1.Length; i++)
{
if (imagedata1[i] != imagedata2[i])
return false;
}
return true;
}
public bool EQimgs(Image img1, Image img2)
{
if (img1 == null && img2 == null) return false;
MemoryStream ms1 = new MemoryStream();
byte[] imagedata1 = null;
img1.Save(ms1, System.Drawing.Imaging.ImageFormat.Jpeg);
imagedata1 = ms1.GetBuffer();
MemoryStream ms2 = new MemoryStream();
byte[] imagedata2 = null;
img2.Save(ms2, System.Drawing.Imaging.ImageFormat.Jpeg);
imagedata2 = ms2.GetBuffer();
if (imagedata1.Length != imagedata2.Length) return false;
for (int i = 0; i < imagedata1.Length; i++)
{
if (imagedata1[i] != imagedata2[i])
return false;
}
return true;
}
展开全部
图片名对比看看
追问
该怎么改动代码呢?
追答
我看你的代码应该是个游戏,可以用碰撞检测什么的来试试,至于我说的图片名对比,你如果非得想看看是不是同一张图片的话,你应该知道imagelist的0到最后一张的每一张图片是什么吧,这样你就知道你要对比的那一张在imagelist中的编号了,可以直接看下标,这是我的猜想,你试试看吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图片是在一个路径读取的吗 如果是的话 可以试一下路径相等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询