根据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; 
    }

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/10827.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论