java圖片處理開源框架
之前一直不明白,java開源框架什麼意思,蒐集資料得出如下結論java
其實java框架能夠理解爲一個工具或者一個插件,將一個公用的、經常使用的技術封裝起來,處理一些基礎的、繁瑣的問題。框架
Thumbnailator 是一個優秀的圖片處理的Google開源Java類庫。處理效果遠比Java API的好。從API提供現有的圖像文件和圖像對象的類中簡化了處理過程,兩三行代碼就可以從現有圖片生成處理後的圖片,且容許微調圖片的生成方式,同時保持了須要寫入的最低限度的代碼量。還支持對一個目錄的全部圖片進行批量處理操做。工具
支持的處理操做:圖片縮放,區域裁剪,水印,旋轉,保持比例。google
另外值得一提的是,Thumbnailator至今仍不斷更新,怎麼樣,感受頗有保障吧!spa
Thumbnailator官網:http://code.google.com/p/thumbnailator/.net
下面咱們介紹下如何使用Thumbnailator插件
原圖:code
一、指定大小進行縮放orm
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(200, 300)
- .toFile("c:/a380_200x300.jpg");
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(2560, 2048)
- .toFile("c:/a380_2560x2048.jpg");
二、按照比例進行縮放對象
- Thumbnails.of("images/a380_1280x1024.jpg")
- .scale(0.25f)
- .toFile("c:/a380_25%.jpg");
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .scale(1.10f)
- .toFile("c:/a380_110%.jpg");
三、不按照比例,指定大小進行縮放
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(200,200)
- .keepAspectRatio(false)
- .toFile("c:/a380_200x200.jpg");
四、旋轉
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(1280,1024)
- .rotate(90)
- .toFile("c:/a380_rotate+90.jpg");
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(1280,1024)
- .rotate(-90)
- .toFile("c:/a380_rotate-90.jpg");
五、水印
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(1280,1024)
- .watermark(Positions.BOTTOM_RIGHT,ImageIO.read(newFile("images/watermark.png")),0.5f)
- .outputQuality(0.8f)
- .toFile("c:/a380_watermark_bottom_right.jpg");
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(1280,1024)
- .watermark(Positions.CENTER,ImageIO.read(newFile("images/watermark.png")),0.5f)
- .outputQuality(0.8f)
- .toFile("c:/a380_watermark_center.jpg");
六、裁剪
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .sourceRegion(Positions.CENTER,400,400)
- .size(200,200)
- .keepAspectRatio(false)
- .toFile("c:/a380_region_center.jpg");
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .sourceRegion(Positions.BOTTOM_RIGHT,400,400)
- .size(200,200)
- .keepAspectRatio(false)
- .toFile("c:/a380_region_bootom_right.jpg");
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .sourceRegion(600,500,400,400)
- .size(200,200)
- .keepAspectRatio(false)
- .toFile("c:/a380_region_coord.jpg");
七、轉化圖像格式
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(1280,1024)
- .outputFormat("png")
- .toFile("c:/a380_1280x1024.png");
-
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(1280,1024)
- .outputFormat("gif")
- .toFile("c:/a380_1280x1024.gif");
八、輸出到OutputStream
- OutputStreamos=newFileOutputStream("c:/a380_1280x1024_OutputStream.png");
- Thumbnails.of("images/a380_1280x1024.jpg")
- .size(1280,1024)
- .toOutputStream(os);
九、輸出到BufferedImage
- BufferedImagethumbnail=Thumbnails.of("images/a380_1280x1024.jpg")
- .size(1280,1024)
- .asBufferedImage();
- ImageIO.write(thumbnail,"jpg",newFile("c:/a380_1280x1024_BufferedImage.jpg"));
以上轉載複製csdn大神寫的開源工具。