P
pamela fluente
I have been using something like:
public void SaveJPG(Image Image, string FileName, long
QualityLevel_0_100, long ColorDepthLevel)
{
ImageCodecInfo ImageCodecInfoJPG = GetEncoderInfo("image/jpeg");
EncoderParameters EP = new EncoderParameters(2);
EP.Param(0) = new EncoderParameter(Encoder.Quality,
QualityLevel_0_100);
EP.Param(1) = new EncoderParameter(Encoder.ColorDepth,
ColorDepthLevel);
Image.Save(FileName, ImageCodecInfoJPG, EP);
}
to save JPG with some give given quality. I expected to do the same
with PNG. I know its a loseless format, but I expect to be able to
control the compression level. Is that right or no ?
My PNG are ways too big (relative to similar jpg's). Can anyone tell
me what am I doing wrong. The following code (invented) is not
working. What's the right way to do it?
public void SavePNG(Image Image, string FileName, long
QualityLevel_0_100, long ColorDepthLevel)
{
ImageCodecInfo ImageCodecInfoPNG = GetEncoderInfo("image/png");
EncoderParameters EP = new EncoderParameters(2);
EP.Param(0) = new EncoderParameter(Encoder.Compression, 100l -
QualityLevel_0_100);
EP.Param(1) = new EncoderParameter(Encoder.ColorDepth,
ColorDepthLevel);
Image.Save(FileName, ImageCodecInfoPNG, EP);
}
-P
public void SaveJPG(Image Image, string FileName, long
QualityLevel_0_100, long ColorDepthLevel)
{
ImageCodecInfo ImageCodecInfoJPG = GetEncoderInfo("image/jpeg");
EncoderParameters EP = new EncoderParameters(2);
EP.Param(0) = new EncoderParameter(Encoder.Quality,
QualityLevel_0_100);
EP.Param(1) = new EncoderParameter(Encoder.ColorDepth,
ColorDepthLevel);
Image.Save(FileName, ImageCodecInfoJPG, EP);
}
to save JPG with some give given quality. I expected to do the same
with PNG. I know its a loseless format, but I expect to be able to
control the compression level. Is that right or no ?
My PNG are ways too big (relative to similar jpg's). Can anyone tell
me what am I doing wrong. The following code (invented) is not
working. What's the right way to do it?
public void SavePNG(Image Image, string FileName, long
QualityLevel_0_100, long ColorDepthLevel)
{
ImageCodecInfo ImageCodecInfoPNG = GetEncoderInfo("image/png");
EncoderParameters EP = new EncoderParameters(2);
EP.Param(0) = new EncoderParameter(Encoder.Compression, 100l -
QualityLevel_0_100);
EP.Param(1) = new EncoderParameter(Encoder.ColorDepth,
ColorDepthLevel);
Image.Save(FileName, ImageCodecInfoPNG, EP);
}
-P