java读取源图片生成新比例图片

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class ImageProcess {
 
 public void zoomImage(String srcImgFileName) throws  IOException{
  File _file = new File(srcImgFileName);
  BufferedImage src =javax.imageio.ImageIO.read(_file);
  int width = src.getWidth();//可以根据需要,合理利用源图片的宽
  int height = src.getHeight();//可以根据需要,合理利用源图片的长
  //创建一个224*128的"画布"
  BufferedImage tag = new BufferedImage(224,128,BufferedImage.TYPE_INT_RGB);
  //下面的长、宽不要大于上面的设置的大小,否则生成的图片会不“完成”
  tag.getGraphics().drawImage(src, 0, 0, 224,128,null);
  FileOutputStream out = new FileOutputStream("C:\\aa-new.jpg");
   JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
   encoder.encode(tag);
   out.close();
 }
 
 public static void main(String[] args) throws IOException {
  String imageFileName = "C:\\aa.bmp";
  ImageProcess iZoom = new ImageProcess();
  iZoom.zoomImage(imageFileName);
  

 }

}

posted @ 2012-11-22 16:02  IT忍者  阅读(216)  评论(0编辑  收藏  举报