C# tiff到PDF转换中的反转颜色
我肯定我在这里犯了一些愚蠢的错误,但是当将tiff文件转换为PDF时,颜色会颠倒。我不明白为什么。这是我的密码:C# tiff到PDF转换中的反转颜色,c#,pdf,itextsharp,tiff,C#,Pdf,Itextsharp,Tiff,我肯定我在这里犯了一些愚蠢的错误,但是当将tiff文件转换为PDF时,颜色会颠倒。我不明白为什么。这是我的密码: Document document = new Document(PageSize.A4, 50, 50, 50, 50); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("Image.pdf", FileMode.Create)); System.Drawing.Bitmap bm = new
Document document = new Document(PageSize.A4, 50, 50, 50, 50);
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("Image.pdf", FileMode.Create));
System.Drawing.Bitmap bm = new System.Drawing.Bitmap(@"C:\Temp\338814-00.tif");
int total = bm.GetFrameCount(FrameDimension.Page);
document.Open();
PdfContentByte cb = writer.DirectContent;
for (int k = 0; k < total; ++k)
{
bm.SelectActiveFrame(FrameDimension.Page, k);
MemoryStream ms = new MemoryStream();
bm.Save(ms, ImageFormat.Tiff);
Image img = Image.GetInstance(ms.ToArray());
img.ScalePercent(72f / (float)img.DpiX * 100);
img.SetAbsolutePosition(0, 0);
cb.AddImage(img);
document.NewPage();
}
document.Close();
Document Document=新文档(PageSize.A4,50,50,50);
PdfWriter writer=PdfWriter.GetInstance(文档,新文件流(“Image.pdf”,FileMode.Create));
System.Drawing.Bitmap bm=新的System.Drawing.Bitmap(@“C:\Temp\338814-00.tif”);
int total=bm.GetFrameCount(FrameDimension.Page);
document.Open();
PdfContentByte cb=writer.DirectContent;
对于(整数k=0;k
谢谢。最好的解决方案似乎是更换线路:
bm.Save(ms, ImageFormat.Tiff);
与
Png似乎为Tiff图像提供了最佳的速度/文件大小性能。为什么这样做,我仍然不知道。你能上传一个在某处引起问题的tiff图像样本吗?我复制并粘贴了你的代码(为iTextSharp.text.document类型的文档添加声明),并将一个844页的tiff转换为PDF格式,而没有看到反转的颜色。是否有任何代码没有显示给我们?这就是现在所有的代码(错过了我刚才添加的文档声明行)。已将tiff文件上载到此处:,但我抛出的每个tiff图像都会出现这种情况。最可能的原因是,1位tiff图像通常(但不总是)包含一个颜色贴图,用于指定黑色和白色的含义。此外,它们还有一个名为光度解释的标记,用于指示0是黑色还是白色。在这两种设置之间,有4种可能出错。
bm.Save(ms, ImageFormat.Png);