Привет, ребята Я изменяю размеры изображений на C# и сохраняю их как .png.Изменение размера изображения высокого качества для веб-сайта
public static Bitmap resize(int x, int y, Image p)
{
Bitmap Img = new Bitmap(x,y);
using (Graphics gr = Graphics.FromImage(Img))
{
gr.SmoothingMode = SmoothingMode.HighQuality;
gr.InterpolationMode = InterpolationMode.HighQualityBicubic;
gr.PixelOffsetMode = PixelOffsetMode.HighQuality;
gr.DrawImage(p, new Rectangle(0, 0, x, y));
}
return Img;
}
Проблема заключается в том, что, когда пользователь загружает изображение высокого качества, такие как изображения с высоких смартфонов, такими как Galaxys, Iphones и т.д. в размер_файле полученного уменьшенного изображения достаточно высок. Я построил таблицу размеров изображений размером и размером пикселей.
1) Img1 1280 * 666px => 458 kb
2) Img1 300 * 399px => 221kb
3) Img2 1280 * 1444px => 2.08mb
4) Img2 300 * 451px => 327kb
Я знаю, интерполяция и сглаживание набор высокого качества для целей примера и сохранения изображений в .png для сохранения прозрачности. Но какую настройку я должен изменить, чтобы получить изображение разумного качества и идеально подходит для HTML-страниц. Моя конечная цель заключается в компромиссе между качеством изображения и FileSize. Поэтому, пожалуйста, назовите меня ссылкой на демонстрацию Filsesize vs Quality для качества изображений с измененным размером, чтобы я мог сам сделать выбор.
Вы действительно должны сохранять фотографии как .png? Зачем? – hyde
@hyde Это могут быть фотографии или векторы, поэтому мне нужно сохранить прозрачность. –
У вас всегда есть прозрачность, даже с фотографиями? – hyde