【问题标题】:Android wont load .png as bitmaps [duplicate]Android不会将.png作为位图加载[重复]
【发布时间】: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 上搜索现有答案。祝你好运。

标签: android bitmap


【解决方案1】:

活动内部:

int resourceId = R.drawable.yourpng;
Bitmap bmp = BitmapFactory.decodeResource(getResources(), resourceId);

yourpng.png 应该在 res/drawable-nodpi 中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-23
    • 2016-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 2019-08-25
    • 2015-04-05
    相关资源
    最近更新 更多