`
kingj
  • 浏览: 421638 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用java实现图片截取

 
阅读更多

今天使用java实现图片截取,废话不说,看看代码:

package com.image;

import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;

public class ImageUtils {
    public static void cutJPG(InputStream input, OutputStream out, int x,
            int y, int width, int height) throws IOException {
        ImageInputStream imageStream = null;
        try {
            Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName("jpg");
            ImageReader reader = readers.next();
            imageStream = ImageIO.createImageInputStream(input);
            reader.setInput(imageStream, true);
            ImageReadParam param = reader.getDefaultReadParam();
            
            System.out.println(reader.getWidth(0));
            System.out.println(reader.getHeight(0));
            Rectangle rect = new Rectangle(x, y, width, height);
            param.setSourceRegion(rect);
            BufferedImage bi = reader.read(0, param);
            ImageIO.write(bi, "jpg", out);
        } finally {
            imageStream.close();
        }
    }
    
    
    public static void cutPNG(InputStream input, OutputStream out, int x,
            int y, int width, int height) throws IOException {
        ImageInputStream imageStream = null;
        try {
            Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName("png");
            ImageReader reader = readers.next();
            imageStream = ImageIO.createImageInputStream(input);
            reader.setInput(imageStream, true);
            ImageReadParam param = reader.getDefaultReadParam();
            
            System.out.println(reader.getWidth(0));
            System.out.println(reader.getHeight(0));
            
            Rectangle rect = new Rectangle(x, y, width, height);
            param.setSourceRegion(rect);
            BufferedImage bi = reader.read(0, param);
            ImageIO.write(bi, "png", out);
        } finally {
            imageStream.close();
        }
    }
    
    public static void cutImage(InputStream input, OutputStream out, String type,int x,
            int y, int width, int height) throws IOException {
        ImageInputStream imageStream = null;
        try {
            String imageType=(null==type||"".equals(type))?"jpg":type;
            Iterator<ImageReader> readers = ImageIO.getImageReadersByFormatName(imageType);
            ImageReader reader = readers.next();
            imageStream = ImageIO.createImageInputStream(input);
            reader.setInput(imageStream, true);
            ImageReadParam param = reader.getDefaultReadParam();
            Rectangle rect = new Rectangle(x, y, width, height);
            param.setSourceRegion(rect);
            BufferedImage bi = reader.read(0, param);
            ImageIO.write(bi, imageType, out);
        } finally {
            imageStream.close();
        }
    }

    
    public static void main(String[] args) throws Exception {
        ImageUtils.cutJPG(new FileInputStream("c:\\test.JPG"),
                  new FileOutputStream("c:\\test2.jpg"), 0,0,200,100);
        
        ImageUtils.cutPNG(new FileInputStream("c:\\1.png"),
                new FileOutputStream("c:\\test3.png"), 0,0,50,40);
    }
}
 
分享到:
评论
1 楼 ysl_228 2015-07-16  

相关推荐

    Java截取头像并上传

    Java 实现头像的截取,并上传头像。 项目使用说明: 1,要下载maven ,并配置环境变量 2,将image.jsp里面的图片换成你的本地图片 3,通过maven 打包。 4,部署到tomcat.打开image.jsp页面就可以验证了。 ...

    java+opencv截取图片中的印章

    java调用opencv利用霍夫圆定位查找印章,并返回质心坐标和半径以达到截取印章的目的

    java后台利用ffmpeg实现将视频截取某一帧图片并保存

    截取视频中的某一帧的图像含ffmpeg.jar 和调用方法和类

    java实现视频生成图片

    java实现可以获取视频中某一帧的图片,并将图片保存至本地,自定义设置截取图片的宽度和高度,获取视频的总帧数,视频总时长。

    js实现图片截取并上传到web服务器

    使用js实现图片截取并上传到web服务器。用户可从本地选择一张图片,然后可对选择的图片进行拖动、缩放后截取,最后上传到web服务器。后台使用java实现图片的接收和存储,上传的图片默认保存到项目下的images文件夹中...

    java用ffmpeg截取视频图片

    可以实现视频截图,视频剪辑,视频转换,支持编码广范,速度极快,支持windows linux平台

    人脸识别检测opencv简单java实现

    人脸识别检测opencv简单java实现要不是毕业好几年我都不舍得分享出来!!! CTRL+D收藏一下或者关注走一波-有你所需!不断更新! 其他相关下载,配套代码以及PPT。稳妥的小老弟 ...加载本地的OpenCV库,这样就可以用它...

    java封装ffmpeg截取视频图片

    改装了jave的封装,可以实现视频截图,视频剪辑,视频转换,支持编码广范,速度极快,支持windows linux平台。

    java实现人脸识别并裁剪人脸图片

    19年10月3号更新 新资源地址https://download.csdn.net/download/b379685397/11831772。 使用教程见https://blog.csdn.net/b379685397/article/details/101940373 有问题可以私信我哦

    纯Java实现整个网页截图项目源代码

    精品必须10分啊,里面包含了java项目源代码和所需jar包,使用了DJNativeSwing组件技术实现。

    java开发_图片截取工具实现原理

    本文将详细介绍java开发_图片截取工具实现原理,需要了解的朋友可以参考下

    java实现截取PDF指定页并进行图片格式转换功能

    主要介绍了java实现截取PDF指定页并进行图片格式转换功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    图片截取,头像截取

    java实现图片的截取,通过获取图片的坐标、宽度、高度来获一张新的图片。

    Java利用VLC实现从视频中抽取帧图片

    .根据预设抽帧数量,从视频文件中平均抽取对应帧图片,如视频文件10分钟,抽帧数量设定为5,那么需要从视频文件第2分、4分、6分、8分、10分抽取对应帧图片输出

    图片的截取上传java+Jcrop

    使用Jcrop插件完成对图片的截取尺寸,传给Java代码进行后台截图操作

    js实现拍照截取上传

    使用js调用本地摄像头拍照后截取并上传到web服务器。用户也可从本地选择一张图片,然后可对选择的图片或拍照的图片进行拖动、缩放...后台使用java实现图片的接收和存储,上传的图片默认保存到项目下的images文件夹中。

    JAVA3d截图功能的实现

    java实现截图的效果java实现截图的效果java实现截图的效果java实现截图的效果

    JAVA实现的屏幕共享程序

    使用JAVA写的简单屏幕共享程序,服务器端截取屏幕图片多线程发送给局域网内的客户端,客户端接受并显示

    js控制截取图片旋转缩放

    组装本地或者动态从服务器取出图片成一个整体的图片,可控制调节图片的亮度 黑白 饱和度等等 还可以 点击canvas 里面任意一张小图片 算出点击的 是那一个 还包含了jquery的控制图片上传截取指定位置 调节放大缩小...

    java识别图片验证码的2种方式

    包含5个识别图片验证码的类,分别对应不同5种不同的验证码 其中用了两种不同的实现方式(截取采样像素比对+Tesseract-OCR识别) 附带一个图像指纹类(判定图片相似度)和一个寻找联通线的类(八皇后算法实现)

Global site tag (gtag.js) - Google Analytics