0

次の方法を使用してURLからビットマップを取得していますが、画像が表示されません。画像は約50x50pxのpngファイルです。ありがとうございました。

public static Bitmap getBitmapFromURL(String src) {
         try {
             Log.e("src",src);
             URL url = new URL(src);
             HttpURLConnection connection = (HttpURLConnection) url.openConnection();
             connection.setDoInput(true);
             connection.connect();
             InputStream input = connection.getInputStream();

             BitmapFactory.Options options = new BitmapFactory.Options();
             options.inJustDecodeBounds = true;


             BitmapFactory.decodeStream(input,null,options);
             Log.e("Bitmap","returned");

             //The new size we want to scale to
             final int REQUIRED_SIZE=70;

             //Find the correct scale value.
             int scale=1;
             while(options.outWidth/scale/2>=REQUIRED_SIZE && options.outHeight/scale/2>=REQUIRED_SIZE)
                 scale*=2;

             //Decode with inSampleSize
             BitmapFactory.Options o2 = new BitmapFactory.Options();
             o2.inSampleSize=scale;
             return BitmapFactory.decodeStream(input, null, o2);


         } catch (IOException e) {
             e.printStackTrace();
             Log.e("Exception",e.getMessage());
             return null;
         }


     }
4

1 に答える 1

0

あなたInputStreamは「食べられて」います。ストリームは 1 回しか使用できないため、画像をスケーリングするためにビットマップ ヘッダーを読み取ると、入力ストリームが「食い尽くされ」ます。実際のビットマップを取得するには、新しい InputStream を作成する必要があります。

于 2012-06-15T15:30:45.967 に答える