【JAVA基础】0003--------图片生成缩略图、TIF转JPG

一:图片生成缩略图

Thumbnailator是一个Java缩略图生成类库。利用其提供的简单API,两三行代码就能够从现有图片生成缩略图。

FileoriginalFile= new File("original.jpg");
File
thumbnailFile= new File("thumbnail.jpg");
Thumbnails.createThumbnail(originalFile,thumbnailFile,200, 200);

Thumbnails.of(newFile("path/to/directory").listFiles())
                  .
size(640,480)
                  .
outputFormat("jpg")
       
          .toFiles(Rename.PREFIX_DOT_THUMBNAIL);


•创建一个水印和旋转缩略图

•Thumbnails.of(newFile("original.jpg"))

        .size(160, 160)

        .rotate(90)

        .watermark(Positions.BOTTOM_RIGHT,ImageIO.read(newFile("watermark.png")),0.5f)

           .outputQuality(0.8f)      

           .toFile(new File("image-with-watermark.jpg"));

按顺时针方向旋转,然后水印是在右下角的角落是半透明放在90度,然后将保存到的图像与- watermark.jpg与80%的压缩质量设置

•创建缩略图并写入一个OutputStream

•OutputStreamos= ...;

               

Thumbnails.of("large-picture.jpg")

        .size(200, 200)

        .outputFormat("png")

        .toOutputStream(os);

•按给定缩放倍数的影像

•BufferedImageoriginalImage= ImageIO.read(newFile("original.png"));

BufferedImagethumbnail = Thumbnails.of(originalImage)

        .scale(0.25f) 倍数

        .asBufferedImage();

•创建带水印的缩略图

•BufferedImageoriginalImage= ImageIO.read(newFile("original.jpg"));

BufferedImagewatermarkImage= ImageIO.read(newFile("watermark.png"));

BufferedImagethumbnail = Thumbnails.of(originalImage)

        .size(200, 200)

        .watermark(Positions.BOTTOM_RIGHT,watermarkImage,0.5f)

        .asBufferedImage();

•要强调图像的某个部分:

•Image image  = new Image("c:/pics/p1.jpg");

image.emphasize(250,200, 2300, 500);

image.saveAs("c:/pics/p1Emphesized.jpg");

•要融合两张图片,代码如下:

•Image image  = new Image("c:/pics/p1.jpg");

image.combineWithPicture("c:/pics/p2.jpg");

image.saveAs("c:/pics/p1combinedWithp2.jpg");

•* Open image.

* Save image

* Convert image转换图像

* Re-size image

* Crop image裁切图像

* Convert to black and white image转换为黑白图像

* Rotate image

* Flip image翻转图像

* Add color to image增添色彩

* Create image with multiple instance of the original创建原始图像的多个实例

* Combining 2 images together

* Emphasize parts of the image突出图像的一部分

* Affine transform image仿射变换图像
注意:需要用到JAR包:Thumbnailator-0.3.2.jar

二:TIF图片转JPG

	TIF格式的图片生成缩略图是一个难点,Thumbnails也不例外,以下有个例子,可以把TIF转化为JPG,转化完之后,在生成缩略图,就可以采用Thumbnails的方法。
        //tif转换到jpg格式   
	public void tifToJpg(String srcFilePath,String descFilePath) throws IOException{
	    RenderedOp src2 = JAI.create("fileload", srcFilePath);   
	    OutputStream os2 = new FileOutputStream(descFilePath);   
	    JPEGEncodeParam param2 = new JPEGEncodeParam();   
	    //指定格式类型,jpg 属于 JPEG 类型   
	    ImageEncoder enc2 = ImageCodec.createImageEncoder("JPEG", os2, param2);   
	    enc2.encode(src2);   
	    os2.close();
	}
     注意:需要用到JAR包:
		jai_codec.jar   
		jai_core.jar



你可能感兴趣的:(JAVA)