java 图片批量裁剪 源代码
来源:互联网 发布:ipad淘宝卖家版 编辑:程序博客网 时间:2024/06/06 00:03
java 图片批量裁剪 源代码
package com.frank.dx;import java.awt.Image;import java.awt.Rectangle;import java.awt.geom.AffineTransform;import java.awt.image.AffineTransformOp;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Iterator;import javax.imageio.ImageIO;import javax.imageio.ImageReadParam;import javax.imageio.ImageReader;import javax.imageio.stream.ImageInputStream;public class ImageHelper {public static void main(String[] args) {String path = "C:\\Users\\lenovo\\Downloads";File fils = new File(path);File files[]=fils.listFiles();for (int i = 0; i < files.length; i++) {String fileName = files[i].getAbsolutePath();if (!files[i].isFile()) {continue;}String name = path+"\\out\\";if (!new File(name).exists()) {new File(name).mkdir();}try {cutHalfImage(fileName, name+i+".jpg",name+i+"-1.jpg");} catch (IOException e) {e.printStackTrace();}}}/* * 根据尺寸图片居中裁剪 */ public static void cutCenterImage(String src,String dest,int w,int h) throws IOException{ Iterator iterator = ImageIO.getImageReadersByFormatName("jpg"); ImageReader reader = (ImageReader)iterator.next(); InputStream in=new FileInputStream(src); ImageInputStream iis = ImageIO.createImageInputStream(in); reader.setInput(iis, true); ImageReadParam param = reader.getDefaultReadParam(); int imageIndex = 0; Rectangle rect = new Rectangle((reader.getWidth(imageIndex)-w)/2, (reader.getHeight(imageIndex)-h)/2, w, h); param.setSourceRegion(rect); BufferedImage bi = reader.read(0,param); ImageIO.write(bi, "jpg", new File(dest)); }/* * 图片裁剪二分之一 */ public static void cutHalfImage(String src,String dest,String dest2) throws IOException{ Iterator iterator = ImageIO.getImageReadersByFormatName("jpg"); ImageReader reader = (ImageReader)iterator.next(); InputStream in=new FileInputStream(src); ImageInputStream iis = ImageIO.createImageInputStream(in); reader.setInput(iis, true); ImageReadParam param = reader.getDefaultReadParam(); int imageIndex = 0; int width = reader.getWidth(imageIndex); int height = reader.getHeight(imageIndex); Rectangle rect = new Rectangle(0, 0, width/2, height); param.setSourceRegion(rect); BufferedImage bi = reader.read(0,param); ImageIO.write(bi, "jpg", new File(dest)); Rectangle rect2 = new Rectangle(width/2, 0, width, height); param.setSourceRegion(rect2); bi = reader.read(0,param); ImageIO.write(bi, "jpg", new File(dest2)); }/* * 图片裁剪通用接口 */ public static void cutImage(String src,String dest,int x,int y,int w,int h) throws IOException{ Iterator iterator = ImageIO.getImageReadersByFormatName("jpg"); ImageReader reader = (ImageReader)iterator.next(); InputStream in=new FileInputStream(src); ImageInputStream iis = ImageIO.createImageInputStream(in); reader.setInput(iis, true); ImageReadParam param = reader.getDefaultReadParam(); Rectangle rect = new Rectangle(x, y, w,h); param.setSourceRegion(rect); BufferedImage bi = reader.read(0,param); ImageIO.write(bi, "jpg", new File(dest)); } /* * 图片缩放 */ public static void zoomImage(String src,String dest,int w,int h) throws Exception {double wr=0,hr=0;File srcFile = new File(src);File destFile = new File(dest);BufferedImage bufImg = ImageIO.read(srcFile);Image Itemp = bufImg.getScaledInstance(w, h, bufImg.SCALE_SMOOTH);wr=w*1.0/bufImg.getWidth();hr=h*1.0 / bufImg.getHeight();AffineTransformOp ato = new AffineTransformOp(AffineTransform.getScaleInstance(wr, hr), null);Itemp = ato.filter(bufImg, null);try {ImageIO.write((BufferedImage) Itemp,dest.substring(dest.lastIndexOf(".")+1), destFile);} catch (Exception ex) {ex.printStackTrace();}}}
0 0
- java 图片批量裁剪 源代码
- java批量裁剪图片
- Python 图片批量裁剪
- python图片批量裁剪
- java裁剪图片
- java图片裁剪
- java 裁剪图片
- 裁剪图片(Java端)
- java图片裁剪
- java图片居中裁剪
- java 图片缩放、裁剪。
- Java-图片裁剪
- Java实现图片裁剪
- java实现图片裁剪
- java 图片裁剪
- java图片裁剪
- java 图片裁剪
- java图片裁剪原理
- android alertDialog
- 装系统总结
- board_init_f 分析(六)
- iOS开发UI篇 -- 0401微博主页-自定义cell
- HDU 1195 Open the Lock(双向BFS)
- java 图片批量裁剪 源代码
- python 七种邮件内容发送方法实例
- Java线程系列实用教程
- c++primer之vector
- Flash的选择
- Android中使用Volley开源库进行Http网络请求(GET方式)
- USB的描述符及各种描述符之间的依赖关系 (转)
- jquery设置以及获取select和checkbox
- Tomcat操作