程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-當在bitmap 中存儲時DecodeStream拋出空值

java-當在bitmap 中存儲時DecodeStream拋出空值

編輯:編程綜合問答
當在bitmap 中存儲時DecodeStream拋出空值

使用下面的代碼,我在imageBitmap = BitmapFactory.decodeStream(is2,null, options);處獲取異常 NULL。

先前運行時,可以解碼,但是現在為什麼不行了呢?decodeStream 拋出 null嗎?

public void showImageThumb(FileInputStream is)
        {
            final int IMAGE_MAX_SIZE = 100;
            FileInputStream is2 = is;
            BitmapFactory.Options options=new BitmapFactory.Options();
            options.inSampleSize = 4;
            Bitmap imageBitmap = BitmapFactory.decodeStream(is,null, options);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            int height = options.outHeight;
            int width = options.outWidth;
            int scale = 1;
            if ( height > IMAGE_MAX_SIZE || width > IMAGE_MAX_SIZE) 
            {
                 scale = (int)Math.pow(2, (int) Math.round(Math.log(IMAGE_MAX_SIZE / (double) Math.max(options.outHeight, options.outWidth)) / Math.log(0.5)));
            }
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            options = new BitmapFactory.Options();
            options.inSampleSize = scale*2;
            imageBitmap = BitmapFactory.decodeStream(is2,null, options);
            height = options.outHeight;
            width = options.outWidth;
            imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); //ERROR HERE 
            imageSelectedThumb = baos.toByteArray();

最佳回答:


版本2.2以下bug,是會出現概率性的解析失敗的異常
參考解決方案:
http://blog.csdn.net/catoop/article/details/8470031

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved