Публикувах тази друга тема, получих някои нежни отговори, но въпреки че отговорите разрешиха качествената страна на въпроса, те създадоха друг проблем с размера на изображението в kb. Качество на преоразмеряване на Asp.net изображение
Тук е въпросът.
Имам 2MB изображение, което искам да намаля до 480px ширина.
Използвах три различни начина за преоразмеряване:
1) На Fileupload стартира този код:
System.IO.Stream st = FileUploadPost.PostedFile.InputStream;
myImage = System.Drawing.Image.FromStream(st);
thumb = myImage.GetThumbnailImage(newWidth, newHeight, null, System.IntPtr.Zero);
thumb.Save(myPath);
Предимства: Размерът в kb става малък (около 80Kb).
Недостатък: Визуалното качество е ужасно
2) На Fileupload стартира този код (решение, предоставено в споменатата публикация):
Bitmap newImg = new Bitmap(newWidth, newHeight, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
Graphics newGraphic = Graphics.FromImage(newImg);
newGraphic.DrawImage(myImage, 0, 0, newWidth, newHeight);
newGraphic.Dispose();
newImg.Save(myPath);
Предимства: Визуалното качество е добро
Недостатък: Размерът продължава да е много голям (около 400kb)
3) Използвах софтуера Windows Paint и „ръчно“ намалих изображението до 480px ширина
Предимства: Предимства както на 1), така и на 2) -> Визуалното качество е добро и размерът е намален до около 80kb
Въпросът е:
Какъв е кодът, който възпроизвежда поведението на елемент 3 (добро визуално качество и по-малък размер в kb)?
Благодаря