Я использую многопоточный процесс сжатия изображений. Исходный файл 1280x
Файл PNG с высоким разрешением 960, около 1800 КБ. Мне нужно сжать до файла JPEG <70 КБ. Когда я обрабатываю несколько автомобилей, процесс работает нормально. когда я обрабатываю более 20 автомобилей, у меня начинает появляться ошибка памяти. Вот код </p>
частный статический ImageCodecInfo GetEncoderInfo (String mimeType)
{
int j;
ImageCodecInfo [] encoders;
encoders = ImageCodecInfo.GetImageEncoders ();
для (j = 0; j
public static void SaveAsJpg(string inFilePath = null, string outputFileName = null, long compression = 70, long quality = 70)
{
System.Drawing.Image orgimage = System.Drawing.Image.FromFile(inFilePath);
var imgIn = new Bitmap(orgimage);
var imgOut = new Bitmap(imgIn.Width, imgIn.Height);
Graphics g = Graphics.FromImage(imgOut);
g.Clear(Color.White);
g.DrawImage(imgIn, 0, 0, imgIn.Width, imgIn.Height);
EncoderParameters encoding = new EncoderParameters(2);
encoding.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, compression);
encoding.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg");
imgOut.Save(outputFileName, myImageCodecInfo, encoding);
}
Заранее спасибо за любые предложения.