我尝试以图像格式保存我的本地报告。但我发现DeviceInfo
' 的ColorDepth
设置不起作用。
string mime, encoding, fileNameExtension;
string[] streams;
Warning[] warnings;
byte[] bytes = report.Render("IMAGE", @"<DeviceInfo><OutputFormat>TIFF</OutputFormat><ColorDepth>8</ColorDepth><StartPage>0</StartPage></DeviceInfo>", out mime, out encoding, out fileNameExtension, out streams, out warnings);
FileStream fs = new FileStream("C:\\imgRep.tiff", FileMode.OpenOrCreate);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
与ColorDepth
值无关,结果是ColorDepth
= 24 的 .tiff 文件。
有谁知道如何修复这个错误?
我将此字节转换为另一个PixelFormat
:
Bitmap orig = new Bitmap(new MemoryStream(bytes));
Bitmap clone = orig.Clone(new Rectangle(0, 0, orig.Width, orig.Height), PixelFormat.Format8bppIndexed);
clone.Save(@"c:\imgPixelF.tiff", ImageFormat.Tiff);
但我不确定这是一个好的决定..