1
Bitmap bmp = new Bitmap(files2.FullName);

我有上面的代码,其中 files2 来自

foreach (FileInfo files2 in files)

当我处理大量图像时,它只对少数图像给出例外。谁可以帮我这个事?

谢谢

这是我的代码:

foreach (FileInfo files2 in files)
{
    string nametime = files2.FullName.ToString();
    DateTime createdTime = File.GetCreationTime(nametime);
    //Console.WriteLine(createdTime);

    //test
    if (createdTime.ToShortDateString() == DateTime.Today.ToShortDateString())
    {
        try
        {
            if (files2.Extension == ".jpg" || files2.Extension == ".png" || files2.Extension == ".JPG" || files2.Extension == ".PNG" || files2.Extension == ".jpeg" || files2.Extension == ".JPEG")
            {
                 Console.WriteLine("Name: " + files2.FullName);
                 Bitmap bmp = new Bitmap(files2.FullName);
4

1 回答 1

1

由于这仅在您处理大批量时才会发生,因此可能是内存问题。Bitmap包含非托管资源,因此您应该在完成后调用它Disposeusing最好的方法是通过一个语句隐式地做到这一点:

using (Bitmap bmp = new Bitmap(files2.FullName))
{
    // Process the bitmap here
}
于 2013-10-24T07:38:35.563 回答