點擊▲關注 “爪哇筆記” 給公衆號標星置頂
更多精彩 第一時間直達
爪哇妹上線以來,已累計訪問用戶2w+,日訪問1k+,隨之而來的是流量暴增,本來阿里雲還有十幾塊錢餘額,結果這幾天提示不足。
登錄後臺查看,發現每天居然產生了好幾塊大洋的費用。目前OSS是由兩部分費用組成,存儲費用+下行流量費用。由於之前購買了40G的存儲包,這幾天產生的費用顯然是流量費了。
推薦一款圖片處理神器 Thumbnailator
,一個優秀的圖片處理的Google
開源Java
類庫。處理效果遠比Java API
的好。從API
提供現有的圖像文件和圖像對象的類中簡化了處理過程,兩三行代碼就能夠從現有圖片生成處理後的圖片,且允許微調圖片的生成方式,同時保持了需要寫入的最低限度的代碼量。還支持對一個目錄的所有圖片進行批量處理操作。
支持的處理操作:圖片縮放,格式轉換,水印,旋轉,保持比例。
pom.xml
引入最新的依賴:
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.11</version>
</dependency>
尺寸變爲原來的一半,高質量輸出:
/**
* scale 比例
* outputQuality 質量
*/
Thumbnails.of(fromPic)
.scale(0.5f)
.outputQuality(1f)
.toFile(toPic);
不按照比例,指定大小進行縮放:
Thumbnails.of(fromPic)
.size(400,400)
.keepAspectRatio(false)
.toFile(toPic)
旋轉圖片:
/**
* rotate 角度
* 正數:順時針
* 負數:逆時針
*/
Thumbnails.of(fromPic)
.size(400,400)
.rotate(90)
.toFile(toPic);
圖片加水印:
// 獲取原圖文件
File file = new File(inputPath);
// ImageIO讀取圖片
BufferedImage image = ImageIO.read(file);
Thumbnails.of(image)
// 設置圖片大小
.size(image.getWidth(), image.getHeight())
// 加水印 參數:1.水印位置 2.水印圖片 3.不透明度0.0-1.0
.watermark(Positions.BOTTOM_RIGHT, ImageIO.read(watermark), opacity)
// 輸出到文件
.toFile(outputFile);
轉換圖片格式:
Thumbnails.of(fromPic)
.size(1280,1024)
.outputFormat("png")
.toFile(toPic);
更多案例這裏就不一一演示了,目前只使用了圖片按比例縮放,大小比之前縮小了不止一倍,效果還是很明顯的,小程序加載速度提升也是大大的快。