我编写了一个简单的代码来减少图像文件的大小。 此代码可以使用较小的文件大小,但是当以较大的文件大小运行时会出错。 这是错误,
System.Drawing.dll中发生未处理的“System.OutOfMemoryException”类型异常 附加信息:内存不足。
所有图像文件大小超过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 =新位图(文件);
我是否有任何建议可用于减少/压缩图像文件大小而不降低图像质量?