我有一个奇怪的情况:将我的 PNG 从 /drawable-hdpi/ 移动到 /drawable/ 并将 XML 位图放入 /drawable-hdpi/ 后,我无法使用以下命令解码这些位图BitmapFactory.decodeResource()
方法 - 它返回null
。
奇怪的是:
- 我可以用这种方法解码实际的 png 文件(给出实际的可绘制 id)
- 我可以使用可绘制对象
context.getResources().getDrawable(xml_id)
-
- 所有 ImageViews 组件均已正确解码(但我认为这是由于第 2 页)
我在 logcat 中看到的是:
12-03 16:18:13.557: D/skia(2566): --- SkImageDecoder::Factory 返回 null
12-03 16:18:13.557: D/skia(2566): --- SkImageDecoder::Factory 返回 null
12-03 16:18:13.567: D/skia(2566): --- SkImageDecoder::Factory 返回 null
所以我会大胆猜测,解码器被赋予了要解码的 xml 文件,而不是实际的资源(我检查过的资源是有效的)。
有什么提示吗?是否有可能BitmapFactory.decodeResource()
与 xml 位图?
顺便说一句,我正在使用 API 7。
我也尝试将原始 lpngs 放入drawable-nodpi,但这也没有帮助。
谢谢
获取可绘制对象,然后转换为位图:
Drawable drawable = getResources().getDrawable(resId);
Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
现在您可以使用 Bitmap 对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)