Компрессия PNG при сохранении - C#
Формулировка задачи:
Не могу разобраться с тем, как задать параметры для компрессии при сохранении.
Нужно задать Quality/Compression/Dittering для PNG.
Разные конструкции из примеров в поиске или не работают, или выдают ошибки.
Например такая конструкция допускает задание всего одного параметра и при этом файл получается таким, словно никакие параметры не заданы...
saveimg = saveFileDialog5.FileName;
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;
foreach (ImageCodecInfo codec in codecs)
{
if (codec.MimeType == "image/png")
{
ici = codec;
}
}
EncoderParameters eps = new EncoderParameters(1);
EncoderParameter ep = new EncoderParameter(System.Drawing.Imaging.Encoder.ColorDepth, 2L);
eps.Param[0] = ep;
pictureBox2.Image.Save(saveimg, ici, eps);Решение задачи: «Компрессия PNG при сохранении»
textual
Листинг программы
Bitmap bitmap1 = new Bitmap(1, 1); ImageCodecInfo jpgEncoder = GetEncoder(ImageFormat.Jpeg); EncoderParameters paramList = bitmap1.GetEncoderParameterList(jpgEncoder.Clsid);