繁体   English   中英

即使没有Alpha通道,如何将PNG文件加载为ARGB_8888?

[英]How can I load PNG-Files as ARGB_8888 even if they have no alpha channel?

我有以下代码来加载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?

还是有可能使用另一种格式代替PNG,该格式也支持Alpha通道并始终提供ARGB_8888位图?

PS:我正在使用Android 2.3.4。

我有个主意

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

我认为它应该运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM