【发布时间】:2016-06-11 23:30:40
【问题描述】:
我在 2 年前找到了 Is there a way to decode a .ICO file to a resolution bigger than 16x16?,最好的建议是使用 image4j。不幸的是,它在 android 下也不起作用,因为“IndexColorModel”、“BufferedImage”和“WritableRaster”类不可用。
虽然通过将其替换为“Bitmap”来解决“BufferedImage”可能会起作用并且不使用“WritableRaster”,但使用 setPixel 设置单个(或一组)像素也可能会起作用,但我无法设法替换“ IndexColorModel”,因为我无法绕开它。
我目前正在从一个网站下载一个网站图标,该网站通常在其中存储多个图像。图像大小不同。我阅读了 ICO 文件的结构并尽可能多地分析了 image4j。然而,我在重构各种类以不使用 AWT 时遇到了麻烦。
BitmapFactory 能够加载 ICO 文件;不幸的是,它只加载第一张图片(至少这是我的猜测),因此无法让我决定要加载哪个图片(更不用说加载它们并让我选择)。
有谁知道与 2 年前相比是否有任何变化和/或是否有人愿意帮助我重构,例如来自 image4j 的 BMPDecoder? 或者是否有完全不同的更简单的方法?
【问题讨论】: