我想按顺序像幻灯片一样遍历文件夹中的图像,是这么写的,每隔300ms读一幅
private void Monitor()
{

          while(true)
{
i++; //i是成员变量
if(i <= 100)
{
pictureBox1.Image =Image.FromFile(@"E:\Project\C\RTPJpeg\pic\p" + i.ToString() +".jpg");           //读到第10幅的时候会报错:内在不足 }
Thread.Sleep(300);
}
}
请问是怎么回事,我应如何解决???(我的图像肯定是有效的)

解决方案 »

  1.   

    你在循环中没有释放图片占用的内存,虽然你的图片是可以变换,但是没变一次就以为这内存中就多存储了一张图片,所以你在//在加载第二张图片开始,在加载图片前添加一条语句释放第一次加载的图片资源
    this.pictureBox1.Image.Dispose();
    pictureBox1.Image =Image.FromFile(@"E:\Project\C\RTPJpeg\pic\p" + i.ToString() +".jpg");
      

  2.   

    //在加载第二张图片开始,在加载图片前添加一条语句释放第一次加载的图片资源
    this.pictureBox1.Image.Dispose();
    pictureBox1.Image =Image.FromFile(@"E:\Project\C\RTPJpeg\pic\p" + i.ToString() +".jpg");
      

  3.   

    我看了一下资源管理器,mm的使用基本没有什么异常啊,就是在第10幅的时候cpu飙升,mm增加比较大,我换了图片效果一样的!哪位能不能试试如何解决?谢谢了
      

  4.   

    嗯,现在问题解决了!谢谢 YYKXQ(异域狂想曲) !