HelloWorld 善战者,求之于势,不责于人;故能择人而任势。

知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。物有本末,事有终始。知所先后,则近道矣。

  BlogJava :: 首页 ::  :: 联系 ::  :: 管理 ::
  167 随笔 :: 1 文章 :: 40 评论 :: 0 Trackbacks

 
JAI实现TIF(TIFF)格式图片的裁剪
2007-04-23 23:25:20
/*   
Java的图像处理能力不断地在增长,但是将一个如PNG或者JPEG格式的文件写入磁盘或从磁盘读取这样的操作仍然比较烦琐。而现时相对简单的一种方法是是使用Java Advanced Imaging(JAI)API。以下是使用JAI进行TIF(TIFF)图片裁剪的一种方法,希望对大家有所帮助:
*/

import java.awt.image.renderable.ParameterBlock;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import javax.media.jai.JAI;
import javax.media.jai.PlanarImage;

import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.ImageEncoder;
import com.sun.media.jai.codec.TIFFEncodeParam;

 

public class CropTifPic {

public static void main(String[] args) throws IOException {

   float x = 0f;
   float y = 0f;

   FileSeekableStream stream = new FileSeekableStream("D:\\srcPic.tif");
   ParameterBlock pb = (new ParameterBlock());
   PlanarImage in = JAI.create("stream", stream);
   pb.addSource(in);
   pb.add(x);
   pb.add((float) (in.getHeight() / 3));
   pb.add((float) in.getWidth());
   pb.add((float) ((in.getHeight()) * 2 / 3));
   PlanarImage out = JAI.create("crop", pb, null);
   OutputStream os = new FileOutputStream("D:\\destPic.tif");
   TIFFEncodeParam param = new TIFFEncodeParam();
   ImageEncoder enc = ImageCodec.createImageEncoder("tiff", os, param);
   enc.encode(out);
   stream.close();
   os.close();
}

}



</script>

posted on 2007-08-13 18:48 helloworld2008 阅读(2583) 评论(0)  编辑  收藏 所属分类: java

只有注册用户登录后才能发表评论。


网站导航: