PDFSharp渲染TIF图像不需要的灰色叠加

时间:2019-05-30 13:08:02

标签: c# transparency tiff pdfsharp

使用C#(WPF构建)中的PDFSharp渲染TIFF图像会在PDF文档中产生某种“灰色叠加”,您会在正确的图像中看到它:

TIFF File source and resulting PDF Document view illustration

原始TIFF文件源可以在以下下载链接中找到:

https://gofile.io/?c=Gx3AWA

源TIFF文件在圆内没有颜色定义(除了明显的圆形边框),因此应在圆内呈现完美的白色。 但是,在创建PDF文档后,圆圈内会出现此灰色叠加层。我不知道这是从哪里来的-更令人困惑的是,它仅在圆圈的内部,而外部却保持完美的白色。

TIFF文件设置为CMYK彩色模式。 PDF文档本身也设置为CMYK。 这是我使用的相关代码:

PdfDocument document = new PdfDocument();
document.Options.ColorMode = PdfColorMode.Cmyk;

PdfPage page = document.AddPage();
page.Orientation = PageOrientation.Portrait;
page.Width = XUnit.FromMillimeter((int)pageSizeX);
page.Height = XUnit.FromMillimeter((int)pageSizeY);

Assembly myAssembly = Assembly.GetExecutingAssembly();
Stream bImgStream = myAssembly.GetManifestResourceStream([path_to_tiff_file]);
XImage bImg = XImage.FromStream(bImgStream);

XGraphics gfx = XGraphics.FromPdfPage(page);

gfx.DrawImage( bImg, x, y, w, h );

在PDF文档中,圆的边界本身也有些“不饱和”。因此,由于某种原因,似乎在整个圆上绘制了一个叠加层,使内部变成灰色,削弱了圆的边界...

任何能帮助我弄清这一点的提示将不胜感激。

0 个答案:

没有答案