FreeImage 中的透明度
我使用 FreeImage C# 包装器成功将具有透明背景的 24 位 PNG 图像转换为 4 位 PNG 图像。然而,4 位图像的背景变为黑色而不是透明。这是代码。有什么想法吗?
FIBITMAP dib = FreeImageAPI.FreeImage.LoadEx("C:\title_normal.png"); FreeImage.SetTransparent(dib, true); FreeImage.SaveEx(ref dib, "C:\title_normal.png", FREE_IMAGE_FORMAT.FIF_PNG, FREE_IMAGE_SAVE_FLAGS.PNG_Z_DEFAULT_COMPRESSION, FREE_IMAGE_COLOR_DEPTH.FICD_04_BPP, true);
I am successfully converting a 24-bit PNG image which has a transparent background to 4-bit PNG image using FreeImage C# wrapper. However, the 4-bit image's background becomes black instead of being transparent. Here is the code. Any ideas?
FIBITMAP dib = FreeImageAPI.FreeImage.LoadEx("C:\title_normal.png");
FreeImage.SetTransparent(dib, true);
FreeImage.SaveEx(ref dib, "C:\title_normal.png", FREE_IMAGE_FORMAT.FIF_PNG, FREE_IMAGE_SAVE_FLAGS.PNG_Z_DEFAULT_COMPRESSION, FREE_IMAGE_COLOR_DEPTH.FICD_04_BPP, true);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
其实我想通了。如果有人感兴趣的话,这里是代码:
生成的图像是 4 位透明 PNG!
Actually I figured out. Here is the code if someone is interested:
Resulting image is 4-bit transparent PNG!
我不认为 4 位 png 有 Albha 通道。
检查这里
http://en.wikipedia.org/wiki/Portable_Network_Graphics
I dont think 4-bit png has channel for Albha.
check here
http://en.wikipedia.org/wiki/Portable_Network_Graphics