【问题标题】:BitmapFactory.decodeResource and drawable* foldersBitmapFactory.decodeResource 和 drawable* 文件夹
【发布时间】:2012-07-30 04:06:26
【问题描述】:

我想知道decodeResource (Resources res, int id, BitmapFactory.Options opts) 是否考虑到drawable-ldpi、mdpi、hdpi 等文件夹。

我检查了源代码,它看起来不像,但我可能遗漏了一些东西。

(一般来说,Android源码中的R.drawable.resolved在哪里?我没找到。)

【问题讨论】:

  • 你到底想做什么?并且有任何错误吗?
  • 我的一些位图是通过这种方法加载的。我需要知道 decodeResource() 在上述方面是如何工作的。
  • BitmapFactory.decodeResource(getResources(), R.drawable.my_image_name);此方法返回您的 res(=resource) 文件夹中包含的 any of drawable 文件夹中名为“my_image_name”的图像位图。
  • 如果它在多个文件夹中,它如何选择?这就是我想说的。它是否根据设备的 dpi 正确选择,对吗?
  • 是的,你是对的。它将根据当前设备屏幕大小和分辨率选择适当的文件夹。只是您必须担心将所有大小的图像放在所有不同的可绘制文件夹中。

标签: android bitmap drawable android-resources


【解决方案1】:

是的,它考虑到了这一点。例如,如果你这样做:

Resources res = getContext().getResources();
int id = R.drawable.image; 
Bitmap b = BitmapFactory.decodeResource(res, id);

如果所有可绘制文件夹中都存在“图像”,则位图将有所不同。 所以我认为使用重载方法decodeResource (Resources res, int id, BitmapFactory.Options opts) 会以同样的方式工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 2021-06-03
    • 2011-11-24
    • 2023-03-14
    相关资源
    最近更新 更多