根據URL抓取并生成縮略圖的Java代碼
根據URL抓取并生成縮略圖的Java代碼
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; }</pre>
本文由用戶 fbge 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!