簡體   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