- public static Bitmap loadImageFromUrl(String url, int sc) {
- URL m;
- InputStream i = null;
- BufferedInputStream bis = null;
- ByteArrayOutputStream out = null;
- byte isBuffer[] = new byte[1024];
- if (url == null)
- return null;
- try {
- m = new URL(url);
- i = (InputStream) m.getContent();
- bis = new BufferedInputStream(i, 1024 * 4);
- out = new ByteArrayOutputStream();
- int len = 0;
- while ((len = bis.read(isBuffer)) != -1) {
- out.write(isBuffer, 0, len);
- }
- out.close();
- bis.close();
- } catch (MalformedURLException e1) {
- e1.printStackTrace();
- return null;
- } catch (IOException e) {
- e.printStackTrace();
- }
- if (out == null)
- return null;
- byte[] data = out.toByteArray();
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeByteArray(data, 0, data.length, options);
- options.inJustDecodeBounds = false;
- int be = (int) (options.outHeight / (float) sc);
- if (be <= 0) {
- be = 1;
- } else if (be > 3) {
- be = 3;
- }
- options.inSampleSize = be;
- Bitmap bmp = null;
- try {
- bmp = BitmapFactory.decodeByteArray(data, 0, data.length, options); // 返回缩略图
- } catch (OutOfMemoryError e) {
- // TODO: handle exception
- System.gc();
- bmp = null;
- }
- return bmp;
- }
来源: http://www.phpxs.com/code/1002337/