2

我有以下代码来加载 png 文件:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
options.inDither = false;
map =  BitmapFactory.decodeResource(getResources(), mapid, options);

不幸的是,如果图像没有 alpha 通道,它会将图像加载为 RGB_565。我怎样才能防止这种情况,并且每次都不变地加载它们(没有抖动、没有转换或其他任何东西)?

如果这是不可能的,那么是否有另一种方法可以在没有 BitmapFactory 的情况下将 PNG 文件加载为 ARGB_8888 ?

或者是否可以使用另一种格式来代替也支持 Alpha 通道并始终提供 ARGB_8888 位图的 PNG?

PS:我使用的是安卓 2.3.4。

4

1 回答 1

1

我有个主意。

  1. 尝试在没有 PreferredConfig 的情况下加载 PNG 位图。
  2. 获取图像像素。
  3. 使用您想要的首选配置 (ARGB_8888) 创建一个新位图。
  4. 在新位图中设置 PNG 位图的像素。

我认为它应该运行。

于 2012-06-09T00:15:39.487 回答