java中对图片的裁剪_java实现的图片裁剪功能示例
本文实例讲述了java实现的图片裁剪功能。分享给大家供大家参考,具体如下:
PicCut.java:
package Tsets;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
import javax.imageio.ImageIO;
import javax.imageio.ImageReadParam;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
public class PicCut {
public void cut(int x,int y,int width,int height,String srcpath,String subpath) throws IOException {//裁剪方法
FileInputStream is = null;
ImageInputStream iis = null;
try {
is = new FileInputStream(srcpath); //读取原始图片
Iterator it = ImageIO.getImageReadersByFormatName("jpg"); //ImageReader声称能够解码指定格式
ImageReader reader = it.next();
iis = ImageIO.createImageInputStream(is); //获取图片流
reader.setInput(iis, true); //将iis标记为true(只向前搜索)意味着包含在输入源中的图像将只按顺序读取
ImageReadParam param = reader.getDefaultReadParam(); //指定如何在输入时从 Java Image I/O框架的上下文中的流转换一幅图像或一组图像
Rectangle rect = new Rectangle(x, y, width, height); //定义空间中的一个区域
param.setSourceRegion(rect); //提供一个 BufferedImage,将其用作解码像素数据的目标。
BufferedImage bi = reader.read(0, param); //读取索引imageIndex指定的对象
ImageIO.write(bi, "jpg", new File(subpath)); //保存新图片
} finally {
if (is != null)
is.close();
if (iis != null)
iis.close();
}
}
public static void main(String[] args) throws Exception {
PicCut pc = new PicCut();
pc.cut(20, 20, 100, 100,"D:\\1.jpg","D:\\11.jpg");
System.out.println("ok");
}
}
PS:这里再为大家推荐几款比较实用的图片处理工具供大家参考使用:
在线图片转换BASE64工具:http://tools.jb51.net/transcoding/img2base64
ICO图标在线生成工具:http://tools.jb51.net/aideddesign/ico_img
在线Email邮箱图标制作工具:http://tools.jb51.net/email/emaillogo
在线图片格式转换(jpg/bmp/gif/png)工具:http://tools.jb51.net/aideddesign/picext
更多java相关内容感兴趣的读者可查看本站专题:《Java图片操作技巧汇总》、《java日期与时间操作技巧汇总》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》及《Java数据结构与算法教程》。
希望本文所述对大家java程序设计有所帮助。
java中对图片的裁剪_java实现的图片裁剪功能示例相关推荐
- java中compare语句的用法_Java RuleBasedCollator compare()用法及代码示例
java.text.RuleBasedCollator类的compare()方法用于比较两个对象的强度,并且根据结果将返回0,正值和负值作为输出. 用法: public int compare(O ...
- java在dog中定义name变量,组合构造 冯跃峰 java中组合的应用(不相干的类共同完成一个功能)+构造器回顾...
java中组合的应用(不相干的类共同完成一个功能)+构造器回顾:今天我们了解到java的组合.可以说java组合是非常的重要的.可以对类进行封装,将底层的内容封装起来.甚至于java的继承都没有其重要 ...
- Java中的几种引用类型_Java中的几种引用类型(转载)
Java中的对象引用主要有以下几种类型: 1)强可及对象(strongly reachable): 可以通过强引用访问的对象,一般来说,我们平时写代码的方式都是使用的强引用对象,比如下边的代码段: S ...
- java中write方法报错_Java中管道报错:Write end dead
今天看了下关于管道的通信,Java中的管道只能在同一进程的不同线程间通信.今天测试两个线程进行通信发现报错.下面是我测试的代码. package com.wpl.testIO; import java ...
- java图片轮播_java制作广告图片自动轮播控件
首页图片的轮播 /** * 广告图片自动轮播控件 * */ public class ImageCycleView extends LinearLayout { /** * 上下文 */ privat ...
- java中实现具有传递性吗_Java中volatile关键字详解,jvm内存模型,原子性、可见性、有序性...
一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...
- java中的匿名类方法覆盖_Java技巧:用匿名类来实现简化程序调试
Java技巧:用匿名类来实现简化程序调试 在Java中,匿名类(Anonymous inner classes)多用来处理事件(event handle).但其实,它们对于debug也很有帮助.本文将 ...
- java中用于选择按钮的语句_java程序员考试套题1
Java练习一 一.选择题 1.在Java中,下列()方法可以把JFrame对象jFrame的布局管理器设为FlowLayout 类型. A.jFrame.setLayout(new FlowLayo ...
- java中集合的模型特点_Java 学习笔记(十四)集合
集合 在开发的时候,如果需要存储多个数据,可以使用数组,不过数据是固定长度的,如果需要存储可变长度的多个数据,可以使用集合.集合提供存储空间可变的存储类型,存储的容量可以实时改变 集合分类 Colle ...
- java中属性文件读取案例_java相关:Spring中属性文件properties的读取与使用详解
java相关:Spring中属性文件properties的读取与使用详解 发布于 2020-6-3| 复制链接 摘记: Spring中属性文件properties的读取与使用详解实际项目中,通常将一些 ...
最新文章
- matlab实现移动平均
- python比c语言好学吗-对于初学者而言,python和 c语言先学哪个好
- Java应用梯度下降求解线性SVM模型参考代码
- mongodb 时间戳 java_Java将日期类型Date时间戳转换为MongoDB的时间类型数据
- SQLMap用户手册【超详细】
- 使用tmpfs存放MySQL的临时文件的问题一则
- html设置窗口最小大小,调整HTML 5画布的大小以适应窗口
- 利用melendy插入参考文献_如何利用mendeley搞定SCI论文参考文献,这篇一定要看
- 为什么要用C语言实现面向对象
- 简析Windows Linux的内核映射
- jQuery计算时间差和阴阳历转换
- [渝粤教育] 四川大学 营养与食品卫生学Ⅱ 参考 资料
- MyBatis choose标签
- 计算机命令提示符开热点,将win7电脑变身wifi热点操作方法_电脑怎么开热点win7...
- 两种方法用宏定义写出swap(x,y)
- C语言两种方法求圆的面积与周长编程
- 比较好用的CDN加速节点
- linux c++ 文件修改时间,linux下C获取系统时间的方法
- (一)大数据学习引言——大数据概述
- JSD-2204-WebServer(项目)-二维码-Day16
热门文章
- Codeforces1336A Linova and Kingdom (思维)
- Java深圳工作面试经历(真实经历)!!!
- 平肝息风药题库【1】
- android listener使用实例,如何使用lambda表达式/缩短onclicklisteners android studio(示例代码)...
- 前端web设计师_Web设计师的时尚Web设计主题
- CAD图形的缩放——放大镜
- Word中生成英文目录
- ANC 调试 -FF 降噪原理和调试
- 计算机怎么快捷截图桌面,屏幕截屏的快捷键是什么 6种电脑截图快捷键操作方法...
- 如何在python同一行内输入若干个数?