`
kingj
  • 浏览: 425656 次
  • 性别: 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用ffmpeg截取视频图片

    Java 使用 FFmpeg 截取视频图片是一个常见的任务,它涉及到多媒体处理、命令行操作和跨平台编程。FFmpeg 是一个强大的开源工具集,用于处理音频和视频文件,包括编码、解码、转码、流处理等功能。在 Java 中,我们...

    java 拍照 截取图片

    在Java编程环境中,实现“拍照”和“截取图片”的功能涉及到多个技术层面,包括Web应用、设备访问、图像处理等。以下将详细介绍这些知识点: 1. **Java Web 应用**: Java Web应用程序是基于Java技术构建的,可以...

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

    总结来说,通过Java后台结合`ffmpeg.jar`,我们可以轻松地实现从视频中截取特定帧图片的功能。这涉及到了FFmpeg的加载、视频解码、图像转换和保存等多个步骤,每个步骤都需要对FFmpeg API有深入理解。同时,合理处理...

    java封装ffmpeg截取视频图片

    1. **视频截图**:使用Java封装的FFmpeg库,开发者可以通过调用特定的方法,如`takeSnapshot()`,来截取视频的某一帧作为图片。这在视频处理中非常有用,例如创建视频预览图或提取关键帧。截取图片时,需要指定视频...

    Java截取头像并上传

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

    java实现的屏幕截取软件

    本文将深入探讨一个使用Java编程语言实现的屏幕截取软件,该软件模仿了QQ的截图功能,包括全局快捷键以及自定义截图区域的特性。 首先,Java作为一种跨平台的编程语言,具有丰富的库和API,使其成为开发此类应用的...

    java将视频定时截取图片并保存

    总之,Java结合FFmpeg可以方便地实现视频定时截取图片的功能。通过合理设计代码,我们可以灵活控制截取的时间点、频率以及输出格式,满足各种应用场景的需求。在具体实现时,根据项目的规模和性能要求,选择适合的...

    java采用phantomjs截取页面存为图片示例

    Java采用PhantomJS截取页面并将其保存为图片是一种常见的技术,主要用于自动化测试、网站预览或者数据分析等场景。PhantomJS是一个基于Webkit的无头浏览器,可以在没有图形用户界面的情况下运行JavaScript代码,因此...

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

    "java实现截取PDF指定页并进行图片格式转换功能" 本文主要介绍了java实现截取PDF指定页并进行图片格式转换功能的技术要点。通过实例代码,文章详细地介绍了如何使用java语言来实现PDF指定页的截取和图片格式转换。 ...

    java处理图片大小等比例缩放,自定义修改图片大小,截取,水印

    在压缩包中的"java图片大小转换"文件中,很可能包含了实现这些功能的示例代码和使用说明,可以参考学习以加深理解。在实际开发中,我们还可以借助第三方库如`ImageMagick`、`Java Advanced Imaging (JAI)`或`JavaFX`...

    Jquery+java实现类似开心网的头像缩放截取功能

    "Jquery+Java实现类似开心网的头像缩放截取功能"是通过JavaScript库JQuery与后端Java技术相结合,为用户提供一个便捷、直观的头像裁剪体验,类似于社交网络开心网所采用的机制。这一功能的核心在于前端的图像操作和...

    java实现视频生成图片

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

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

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

    java 根据源图片的x、y、width、height截取需要的图片

    通过上述方法,我们可以轻松地使用Java实现图片的精确裁剪。这种方法不仅适用于JPEG格式的图片,对于其他格式的图片也具有很好的兼容性。此外,通过调整`Rectangle`对象的参数,可以灵活地裁剪出不同位置和大小的...

    Java截取视频画面

    总之,通过Java调用FFmpeg,我们可以方便地在Java程序中实现视频画面的截取。虽然本教程主要针对Windows 7 64位系统,但FFmpeg本身是跨平台的,只要确保正确安装并在Java代码中提供相应的命令,就可以在其他操作系统...

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

    在本项目中,"纯Java实现整个网页截图项目源代码" 是一个利用Java编程语言来实现的实用程序,它能够捕获整个网页的图像并将其保存为图片文件。这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它...

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

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

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

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

    java 根据坐标截取图片实例代码

    这两个包是实现图片裁剪的关键。 接着,我们来看一下实例代码中所涉及的类和方法。在Java代码中,`BufferedImage` 类代表了一个图像缓冲区,可以用来存储图片数据。要截取图片,首先需要创建一个 `BufferedImage` ...

Global site tag (gtag.js) - Google Analytics