尺寸有點太大了吧,我已經受不鳥了

點擊▲關注 “爪哇筆記”   給公衆號標星置頂

更多精彩 第一時間直達

爪哇妹上線以來,已累計訪問用戶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);

更多案例這裏就不一一演示了,目前只使用了圖片按比例縮放,大小比之前縮小了不止一倍,效果還是很明顯的,小程序加載速度提升也是大大的快。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章