使用 libpng 编码时如何将 8 位 png 的像素设置为透明?
当使用 libpng 将 RGB 数据编码为 8 位 png 图像(调色板)时,我尝试将像素标记为透明。如果我在这种情况下创建一个单独的 Alpha 通道,则 Alpha 通道将被忽略。使用 8 位调色板时,有没有办法将像素设置为不透明或透明?
谢谢
I'm trying to mark pixels as transparent when encoding rgb data to 8-bit png image (palette) using libpng. If I create a separate alpha channel in this case, the alpha channel is getting ignored. Is there a way to set the pixels as opaque or transparent when using 8-bit color palette ?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要将某些调色板索引标记为透明,您必须创建 tRNS 块。
在
libpng
中,我猜你必须使用函数png_set_tRNS()
To mark some palette index(es) as transparent, you must create a tRNS chunk.
In
libpng
, I guess you must use the functionpng_set_tRNS()