【发布时间】:2019-02-18 20:12:42
【问题描述】:
我正在尝试使用 JPEG 压缩将图像从 JPEG(彩色)转换为灰度 8 位 TIFF,但我的输出是 24 位黑白 TIFF。
我不知道如何解决这个问题:
Bitmap img = new Bitmap(oImage.FilePath);
// Set Encoder Parameters
EncoderParameters eps = new EncoderParameters(2);
eps.Param(0) = new EncoderParameter(Encoder.ColorDepth, 8L);
eps.Param(1) = new EncoderParameter(Encoder.Compression, long.Parse(((EncoderValue)(selEncoderValue.SelectedItem))));
// Set image CodecInfo
ImageCodecInfo[] ie = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo tiffEncoder = null;
for (int i = 0; (i <= (ie.Length - 1)); i++) {
if ((ie(i).MimeType == "image/tiff")) {
tiffEncoder = ie(i);
break;
}
}
string sImageConvertedFilePath = FileExistIncrementer(string.Format("{0}\\{1}_{2}.tif", Path.GetDirectoryName(oImage.FilePath), Path.GetFileNameWithoutExtension(oImage.FileName), selEncoderValue.SelectedItem.ToString));
img.Save(sImageConvertedFilePath, tiffEncoder, eps);
这些是格式正确的图像的属性:
【问题讨论】:
标签: c#