Я пытался сгенерировать миниатюры, используя функцию Bitmap.GetThumbnailImage () для 20+ изображений в папке. Я мог видеть огромный всплеск памяти приложением, когда оно выполняет следующую процедуру (около 600 000 КБ в использовании Mem Manager).
foreach (var image in ListOfImages)
{
var thumbnailFolder = @"\thumb";
var thumbnailFile = thumbnailFolder + "\\" + image.Name;
if (!Directory.Exists(thumbnailFolder))
{
Directory.CreateDirectory(thumbnailFolder);
}
if (!File.Exists(thumbnailFile))
{
using (FileStream fs = new FileStream(image.FullName, FileMode.Open, FileAccess.Read))
{
Image origImage = Image.FromStream(fs);
var thumbnail = origImage.GetThumbnailImage(90, 120, null, IntPtr.Zero);
thumbnail.Save(thumbnailFile);
thumbnail.Dispose();
origImage.Dispose();
}
}
}
Есть ли способ уменьшить использование памяти для создания миниатюр?