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

(0)

相关推荐

  • java/word+fusionchart生成图表深入分析

    一个朋友的项目里用到了fusionchart,同时需要提供多个报表的word下载功能. 毫无疑问,只是一个很棘手的问题. fusionchart提供了服务端和客户端生成图片的功能,都是基于client端展示了flash以后做的. 朋友的项目是基于linux的,office本身的那套com机制是没办法通过jacob调用了. 纯java的操作word,POI和docx4j,可以生成word文档,table,插入图片. 一个可行的思路是点击下载报表时,先在一个新页面打开各个flash的图表,再依次调用

  • Java图片裁剪和生成缩略图的实例方法

    一.缩略图 在浏览相册的时候,可能需要生成相应的缩略图. 直接上代码: public class ImageUtil { private Logger log = LoggerFactory.getLogger(getClass()); private static String DEFAULT_PREVFIX = "thumb_"; private static Boolean DEFAULT_FORCE = false;//建议该值为false /** * <p>Tit

  • java生成图片验证码示例程序

    复制代码 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">&l

  • java中ZXing 生成、解析二维码图片的小示例

    概述 ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码. 其提供了多种平台下的客户端包括:J2ME.J2SE和Android. 官网:ZXing github仓库 实战 本例演示如何在一个非 android 的 Java 项目中使用 ZXing 来生成.解析二维码图片. 安装 maven项目只需引入依赖: <dependency> <groupId>com.google.zxing

  • Java缩略图生成库之Thumbnailator应用说明

    Thumbnailator 是一个为Java界面更流畅的缩略图生成库.从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量.同时还支持根据一个目录批量生成缩略图. 版本:thumbnailator-0.4.2.jar 原图如下: 1.指定大小进行缩放 复制代码 代码如下: //size(宽度, 高度) /* * 若图片横比200小,高比300小,不变 * 若图片横比200小,高比300大,高

  • java生成饼图svg及JFreeChart生成svg图表

    Jfreechart本身不能生成SVG图形,但是可以借助另外一个东西,辅助生成.好像是这个:batik ,具体代码请看下文 一:Java生成svg饼图,附带了一个标签显示各个颜色代表的部分 package com.tellhow.svg; import java.io.File; import java.io.FileOutputStream; /** * * @author 风絮NO.1 * */ public class CakySvgWithLabel { //定义不同的颜色 static

  • java生成缩略图的方法示例

    本文实例讲述了java生成缩略图的方法.分享给大家供大家参考,具体如下: package com.util; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** * 生成压缩图 * */ public class ImageScale { private int width; private int heigh

  • java实现创建缩略图、伸缩图片比例生成的方法

    本文实例讲述了java实现创建缩略图.伸缩图片比例生成的方法.分享给大家供大家参考.具体实现方法如下: 该实例支持将Image的宽度.高度缩放到指定width.height,并保存在指定目录 通过目标对象的大小和标准(指定)大小计算出图片缩小的比例,可以设置图片缩放质量,并且可以根据指定的宽高缩放图片. 具体代码如下所示: 复制代码 代码如下: package com.hoo.util;   import java.awt.Image; import java.awt.image.Buffere

  • 用java实现的获取优酷等视频缩略图的实现代码

    想要php版的朋友可以到这里下载测试 http://www.jb51.net/codes/83179.html 复制代码 代码如下: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import net.sf.json.*; public c

  • Javaweb开发中通过Servlet生成验证码图片

    一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下: 创建一个DrawImage Servlet,用来生成验证码图片 package gacl.response.study; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; i

  • Windows中使用Java生成Excel文件并插入图片的方法

    生成简单的Excel文件  在现实的办公中,我们常常会有这样一个要求:要求把报表直接用excel打开.在实习中有这样一个需求.根据所选择的资源查询用户所提供附件的全部信息并生成excel供下载.但是在查询的时候我们需要来检测用户所提供的附件里面的信息是否有错误(身份证).有错误的生成错误信息excel.      Apache的POI项目,是目前比较成熟的HSSF接口,用来处理Excel对象.其实POI不仅仅只能处理excel,它还可以处理word.PowerPoint.Visio.甚至Outl

随机推荐