根據URL抓取并生成縮略圖的Java代碼

fbge 9年前發布 | 2K 次閱讀 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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!