如何在 c# 中将 jpeg 图像的颜色深度减少到 256 种颜色
本文关键字:颜色 色深度 中将 图像 jpeg | 更新日期: 2023-09-27 18:32:20
MemoryStream msSave = new MemoryStream();
ImageCodecInfo pngCodec = ImageCodecInfo
.GetImageEncoders()
.Where(codec => codec.FormatID.Equals(ImageFormat.Png.Guid))
.FirstOrDefault();
if (pngCodec != null)
{
EncoderParameters parameters = new EncoderParameters();
parameters.Param[0] = new EncoderParameter(Encoder.ColorDepth, 256);
img.Save(msSave, pngCodec, parameters);
}
img.Save(msSave, imageFormat);
我尝试了这段代码,但没有给我正确的结果?
谁能帮我。
试试这个:
//parameters.Param[0] = new EncoderParameter(Encoder.ColorDepth, 256);
parameters.Param[0] = new EncoderParameter(Encoder.ColorDepth, 8);
MemoryStream msSave = new MemoryStream();
ImageCodecInfo pngCodec = ImageCodecInfo
.GetImageEncoders()
.Where(codec => codec.FormatID.Equals(ImageFormat.Png.Guid))
.FirstOrDefault();
if (pngCodec != null)
{
EncoderParameters parameters = new EncoderParameters();
parameters.Param[0] = new EncoderParameter(Encoder.ColorDepth, 256L);
img.Save(msSave, pngCodec, parameters);
}
img.Save(msSave, imageFormat);
这行得通吗?