我需要将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();
}
如果有人对此有所了解,请提供帮助。感谢
答案 0 :(得分:2)
Rendering.SaveAlpha属性不适用于GIF。
GIF文件中的颜色定义存储在调色板中,而不是通道中。调色板最多可包含256种颜色,包括一种颜色设置为透明。与使用alpha通道不同,没有透明度。每个像素都是不透明的颜色或透明的。
要保留Alpha通道,您需要渲染为其他格式,如PNG,BMP,TIFF(灰度,RGB和CMYK)或Photoshop PSD。如果结果看起来不错,请将其转换为透明GIF,但我希望您会发现一些透明度信息将会丢失。这是不可避免的。