簡體   English   中英

從png android讀取像素值

[英]read pixel value from png android

我正在讀取png以使用以下代碼提取像素RGB

String filePath="map.png";

InputStream instream;


try {
        instream = assetManager.open(filePath);
        bMap = BitmapFactory.decodeStream(istr);


} catch (IOException e) {
      // handle exception
}   

該代碼可以正常工作,但是當png轉換為BitMap時,bmap對象的大小太大(png = 700kb,bmap = 30MB +),因此,應用程序崩潰。

有沒有一種方法可以避免將png加載為BitmapFactory並仍然提取像素RGB。

謝謝您的幫助。

感謝您的評論。

我終於設法通過使用其他技術來解決它。 問題是我的png大小太大,因此當轉換為Bitmap時,應用程序崩潰了。 png是地圖的一部分(應用程序顯示地圖),因此也在地圖上也顯示。 所以我做了以下

  1. 當用戶單擊地圖時,我將緯度和經度轉換為像素xy
  2. 我沒有將整個png轉換為Bitmap,而是截取了screen的屏幕快照。
  3. 我將屏幕短圖像轉換為位圖,並在xy位置提取像素值。

由於屏幕短圖像比完整的png小得多,因此該解決方案可以正常工作。

謝謝大家的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM