具有透明度的memorystream到system.drawing.image

时间:2011-08-19 17:51:28

标签: c# itextsharp

我有一个嵌入图像的pdf并使用itextsharp我已经将图像读入内存流(检查子类型图像后)。

byte[] bytes = TextSharp.text.pdf.PdfReader.GetStreamBytesRaw((iTextSharp.text.pdf.PRStream)pdfStream);

之后我使用

 using (System.IO.MemoryStream memStream = new System.IO.MemoryStream(bytes))
                                    {
                                        memStream.Position = 0;
                                        System.Drawing.Image img = System.Drawing.Image.FromStream(memStream, true, true);
}

此外,我使用

将图像保存到png中
img.Save(@"mypath to the file.png", ImageFormat.Png);

问题是大多数图像都没问题......但是其中一些更像是负片。请看这里的图像。

http://pdfaid.com/prasad.bmp(与png和gif类似的结果)

有人可以指导我如何解决这个问题吗?

注意:我没有使用png而是尝试了jpg和gif,但没有区别。

提前谢谢你, 普拉萨德。

1 个答案:

答案 0 :(得分:0)

仔细阅读帖子here,希望他们会引导您完成一些答案。一个人说你可能是某种seeing a mask而另一个人说你可能会看到一些inverted color channels的图像。如果您可以发布特定的PDF,我们可以为您提供更多帮助。