2010-01-17 93 views
3

情景是这样的: webapp的用户可以通过选择自己的徽标图像,背景颜色和背景图像来自定义网站。Java ImageIO:我可以将PNG-24文件转换为PNG-8吗?

问题是IE6不支持透明PNG。我已经尝试了几种客户端解决方案,但在所有方面都存在缺陷(大多数不支持css属性background-repeat)。

我正在寻找在服务器上创建两个单独图像的替代解决方案,一个用于现代,透明png兼容的浏览器,另一个用于IE6。

问题是,我可以用ImageIO来完成吗?基本上,我会检测图像是否采用PNG-24格式,并将其转换为PNG-8(IE6支持)。

回答

1

如果您需要IE6的透明度,那么可以考虑只为该浏览器发送GIF。这可行吗?

+0

是的,这可以工作......是否更容易完成? (我还可以在GIF中留下一些透明度吗?) – Dan 2010-01-17 18:31:41

+0

http://ubuntuforums.org/showthread.php?t=1060128讨论了如何使用Java ImageIO将PNG转换为GIF。 – 2011-06-28 08:34:18

0

我知道你说你使用的各种客户端的解决方案,但该项目这一块工作,我用,所以以防万一:http://jquery.andreaseberhard.de/pngFix/

(如果你已经尝试过了,随意评论,我将删除答案)

+0

它在页面上说它支持'css背景(但缩放背景)',这意味着 - 根据以前的其他脚本的经验判断 - 它不处理背景重复,而是延伸图像。 – Dan 2010-01-17 18:30:54

相关问题