【发布时间】:2014-01-23 07:48:25
【问题描述】:
我无法让 Android 将 .png 图像加载为位图,我不确定是否可以这样做,我一直在寻找一个小时无济于事,不管我拥有的代码段是这样的:
AssetManager assets;
Options options = new Options();
options.inPreferredConfig = Config.ARGB_8888;
InputStream in = assets.open(fileName);
Bitmap bitmap = BitmapFactory.decodeStream(in);
我已成功将此代码用于 .bmp 文件,但我很确定您可以将 .bmp 以外的其他文件类型加载为位图。任何帮助将不胜感激。
文件名的示例类似于“background.png”。
【问题讨论】:
-
上面的代码根本无法运行。它甚至不会编译,因为你从不分配
assets。也许您的代码示例不完整,但您的问题也是如此:是什么让您认为它不会加载?是否有错误消息或其他指示? -
首先,位图不是一种文件。它是图像的内存表示。 BMP 文件恰好是包含位图未压缩副本的文件。因此,您不会将 PNG 作为位图加载。您从 PNG 文件创建位图。也就是说,“我无法让 Android 加载 .png 图像”并没有告诉我们什么。当你尝试时会发生什么? (顺便说一句,将 PNG 加载到位图中当然是完全可能的。数百万用户每天使用数以千计的应用程序进行多次。
-
欢迎您。我建议您查看我们的导游:stackoverflow.com/tour,它将教您如何发布问题以及首先要做什么,例如在 SO 上搜索现有答案。祝你好运。