java 写的简单处理图片程序

来源:互联网 发布:淘宝店规则 编辑:程序博客网 时间:2024/05/17 22:27

还在实验中 没什么值得看的

Importing list from java.awt or java.utils
http://stackoverflow.com/questions/14163687/importing-list-from-java-awt-or-java-utils
try 后面要接catch 或者finally

读取文件夹下所有文件名
File file = new File(path);
File[] fileList = file.list();
File[] fileList = file.listFiles();
有嵌套用listFiles()
没嵌套用list()
String[]list()
Returns an array of strings naming the files and directories in the directory denoted by this abstract pathname.
File[]listFiles()
Returns an array of abstract pathnames denoting the files in the directory denoted by this abstract pathname.


读入图片的几种方法


package picture;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import javax.imageio.ImageIO;public class main { public static void main(String[] args) throws IOException{ImageUtil utl = new ImageUtil();File imageFile = new File("c:\\Users\\wk\\Pictures\\MP Navigator EX\\2013_12_03\\IMG_0001.jpg");  Image image = ImageIO.read(imageFile);InputStream is = new BufferedInputStream(new FileInputStream("c:\\Users\\wk\\Pictures\\MP Navigator EX\\2013_12_03\\IMG_0001.jpg")); image = ImageIO.read(is);OutputStream os = new BufferedOutputStream(new FileOutputStream("c:\\Users\\wk\\Pictures\\MP Navigator EX\\2013_12_03\\test.jpg"));  image = ImageIO.read(is);try {//从特定文件载入BufferedImage bi = ImageIO.read(new File("c:\\Users\\wk\\Pictures\\MP Navigator EX\\2013_12_03\\IMG_0001.jpg"));bi.getSubimage(0, 0, 10, 10);BufferedImage res;res = utl.resize(bi, 100, 100);ImageIO.write(res, "jepg", os);} catch (IOException e) {e.printStackTrace();}}}

修改后的main

 public static void main(String[] args) throws Exception{ //read file fileread fr = new fileread(); //file name store in file List List<String> fileList = new ArrayList<String>(); fileList = fr.readFile("c:\\Users\\wk\\Pictures\\MP Navigator EX\\2013_12_03\\");  for (Iterator<String> iter = fileList.iterator(); iter.hasNext(); ){ String temp = iter.next(); ImageUtils utl = new ImageUtilsImpl(); InputStream is = new BufferedInputStream(new FileInputStream(temp)); OutputStream os = new BufferedOutputStream(new FileOutputStream(temp.replace(".jpg", "_cut.jpg")));try {utl.sub(1240, 1753, is, os,"jpeg");System.out.println("Picture"+temp.substring(30));} catch (IOException e) {e.printStackTrace();}os.close();} System.out.print("end"); }


截取图片的几种方法

package picture;import java.awt.Image;import java.awt.Rectangle;import java.awt.image.BufferedImage;import java.awt.image.RenderedImage;import java.io.InputStream;import java.io.OutputStream;import javax.imageio.ImageIO;/** *  * @author wk * @version 1.0 */public abstract class ImageUtils {public static boolean sub(int width, int height, InputStream input,OutputStream output, String format) throws Exception {// 输入BufferedImage inputImage = ImageIO.read(input);// 截图Rectangle re = new Rectangle(10, 10, 1200, 1623);BufferedImage subImage = inputImage.getSubimage(re.x, re.y,re.width, re.height);// 初始化输出图片BufferedImage result = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);// 重新绘图Image image = subImage.getScaledInstance(result.getWidth(), result.getHeight(), result.getType());result.createGraphics().drawImage(image, null, null);RenderedImage im = (RenderedImage) result;// 输出return ImageIO.write(im, format, output);}}


读入文件夹图片

package picture;import java.io.File;import java.util.ArrayList;import java.util.List;public class fileread {public List<String> readFile(String path){List<String> result = new ArrayList<String>();File file = new File(path);file.list();File[] fileList = file.listFiles();        for(int i=0;i<fileList.length;i++){             result.add(fileList[i].getAbsolutePath());        }        return result;}}