AbcPdf pdf到gif转换,保持透明度

时间:2013-12-17 08:52:01

标签: c# pdf gif abcpdf abcpdf9

我需要将PDF转换为具有透明度的GIF。我在official site上找到了一些代码示例,但结果与预期不符。常见问题是透明度不足。

我在下面尝试的代码:

using (var doc = new Doc()) {
            doc.Read(source);
            doc.Rendering.SaveAlpha = true;
            // the following lines from the official site. 
            // And this is showing blue background if I set this. 
            // But I don't need this blue background. 
            // Do not set anything special won't give good result.

            //doc.Color.SetRgb(0, 0, 255); // blue background ...
            //doc.FillRect(); // ... so you can see transparency

            doc.Rendering.Save(destination);
            doc.Clear();
        }

如果有人对此有所了解,请提供帮助。感谢

1 个答案:

答案 0 :(得分:2)

Rendering.SaveAlpha属性不适用于GIF。

GIF文件中的颜色定义存储在调色板中,而不是通道中。调色板最多可包含256种颜色,包括一种颜色设置为透明。与使用alpha通道不同,没有透明度。每个像素都是不透明的颜色或透明的。

要保留Alpha通道,您需要渲染为其他格式,如PNG,BMP,TIFF(灰度,RGB和CMYK)或Photoshop PSD。如果结果看起来不错,请将其转换为透明GIF,但我希望您会发现一些透明度信息将会丢失。这是不可避免的。