我在硬盘上检查了动画 gif 的创建,并在 Internet Explorer 中打开它,它工作正常。
所以我不明白为什么我得到这个白色的大 x 红色。
我使用了断点,到目前为止没有收到任何错误。
在这个类中真正创建的动画 gif 是第 175 行:
unfreez.MakeGIF(myGifList, previewFileName, 8, true);
并且动画 gif 是真实存在和创建的。在第 210 行中,我调用了将动画 gif 加载到图片框的函数:
pictureBoxImage(previewFileName);
这是我使用断点的 pictureBoxImage 函数,它没有显示任何错误:
public void pictureBoxImage(string pbImage)
{
Image img2 = null;
try
{
using (img = Image.FromFile(pbImage))
{
//get the old image thats loaded from the _memSt memorystream
//and dispose it
Image i = this.pictureBox1.Image;
this.pictureBox1.Image = null;
if (i != null)
i.Dispose();
//grab the old stream
MemoryStream m = _memSt;
//save the new image to this stream
_memSt = new MemoryStream();
img.Save(_memSt, System.Drawing.Imaging.ImageFormat.Gif);
if (m != null)
m.Dispose();
//create our image to display
img2 = Image.FromStream(_memSt);
}
if (img2 != null)
pictureBox1.Image = img2;
//label2.Text = numberOfFiles.ToString();
//label6.Text = nameOfStartFile.ToString();
//label4.Text = nameOfEndFile.ToString();
//File.Delete(pbImage);
}
catch (Exception err)
{
Logger.Write("Animation Error >>> " + err);
}
}
想不通为什么?红色 x 和白色背景。
我没有将整个班级复制到这里,但如果需要,我会复制到这里,但动画 gif 制作得很好,并且可以在 Internet Explorer 上运行,所以班级正在工作,但由于某种原因,pictureBox 上的显示工作正常。