减少图像文件大小'System.OutOfMemoryException'

时间:2015-07-28 03:55:01

标签: c# .net image bitmap system.drawing

我编写了一个简单的代码来减少图像文件的大小。 此代码可以使用较小的文件大小,但是当以较大的文件大小运行时会出错。 这是错误,

  

System.Drawing.dll中发生未处理的“System.OutOfMemoryException”类型异常   附加信息:内存不足。   enter image description here

所有图像文件大小超过800MB。图像类型为JPEG和TIFF转换为JPEG。 这是我的代码

public void GetImageFile()
    {
        string path1 = string.Empty;
        string fileName = string.Empty;
        string fileFolder = ConfigurationManager.AppSettings["locationFrom"];
        string[] fileList = Directory.GetFiles(fileFolder, "*");

        foreach (string file in fileList)
        {
            fileName = System.IO.Path.GetFileName(file);

            path1 = "\\Photo\\newPath\\" + fileName;

            Bitmap bmp1 = new Bitmap(file);
            ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg);

            System.Drawing.Imaging.Encoder myEncoder =
                System.Drawing.Imaging.Encoder.Quality;

            EncoderParameters myEncoderParameters = new EncoderParameters(1);

            EncoderParameter myEncoderParameter = new EncoderParameter(myEncoder, 50L);
            myEncoderParameters.Param[0] = myEncoderParameter;
            bmp1.Save(path1, jpgEncoder, myEncoderParameters);

        }
    }

错误发生在这一行,

  

位图bmp1 =新位图(文件);

我是否有任何建议可用于减少/压缩图像文件大小而不降低图像质量?

0 个答案:

没有答案
相关问题