java根据url抓取并生成缩略图的示例

 更新时间:2014年05月07日 11:04:03   作者:  
这篇文章主要介绍了java根据url抓取并生成缩略图的示例,需要的朋友可以参考下

java根据url抓取并生成缩略图

复制代码 代码如下:

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

相关文章

  • Mybatis分页插件PageHelper的分页原理剖析

    Mybatis分页插件PageHelper的分页原理剖析

    这篇文章主要介绍了Mybatis分页插件PageHelper的分页原理剖析,PageHelper作为一个启动器,那么就和其他启动器加载一样,先读取spring.factories文件里面配置的类,转成Bean加载本系统中,然后执行他的前置后置处理方法,完成初始化,需要的朋友可以参考下
    2023-08-08
  • SpringBoot模板引擎之Thymeleaf的使用

    SpringBoot模板引擎之Thymeleaf的使用

    这篇文章主要介绍了SpringBoot模板引擎之Thymeleaf的使用,模板引擎是以业务逻辑层和表现层分离为目的的,将规定格式的模板代码转换为业务数据的算法实现,它可以是一个过程代码、一个类,甚至是一个类库,需要的朋友可以参考下
    2023-10-10
  • Android开发Kotlin实现圆弧计步器示例详解

    Android开发Kotlin实现圆弧计步器示例详解

    这篇文章主要为大家介绍了Android开发Kotlin绘制圆弧计步器示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • java依赖混乱存在的问题与解决方案

    java依赖混乱存在的问题与解决方案

    这篇文章主要为大家介绍了java依赖混乱存在的问题与解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Java实现计网循环冗余检验算法的方法示例

    Java实现计网循环冗余检验算法的方法示例

    这篇文章主要给大家介绍了关于Java实现计网循环冗余检验算法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • SpringBoot实现快递物流查询功能(快递鸟)

    SpringBoot实现快递物流查询功能(快递鸟)

    本文将基于springboot2.4.0实现快递物流查询,物流信息的获取通过快递鸟第三方实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-10-10
  • SWT(JFace)体验之复制粘贴

    SWT(JFace)体验之复制粘贴

    SWT(JFace)体验之复制粘贴
    2009-06-06
  • JAVA API 实用类 String详解

    JAVA API 实用类 String详解

    这篇文章主要介绍了java String的深入理解的相关资料,希望通过本文大家能理解String的用法,需要的朋友可以参考下
    2021-10-10
  • Java将Date日期类型字段转换成json字符串的方法

    Java将Date日期类型字段转换成json字符串的方法

    这篇文章主要给大家介绍了关于Java将Date日期类型字段转换成json字符串的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 浅谈java web中常用对象对应的实例化接口

    浅谈java web中常用对象对应的实例化接口

    下面小编就为大家带来一篇浅谈java web中常用对象对应的实例化接口。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论