最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java圖片壓縮工具類

 更新時(shí)間:2017年02月04日 11:06:26   作者:Joker_Ye  
這篇文章主要為大家詳細(xì)介紹了java圖片壓縮工具類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

直接上java圖片壓縮code:

import java.awt.Image; 
import java.awt.image.BufferedImage; 
import java.io.ByteArrayOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 
  
import javax.imageio.ImageIO; 
  
public class ImageProcess { 
 /** 
  * 圖片 
  */ 
 private Image img;  
 /** 
  * 寬度 
  */ 
 private int width;  
 /** 
  * 高度 
  */ 
 private int height;  
 /** 
  * 文件格式 
  */ 
 private String imageFormat; 
 /** 
  * 構(gòu)造函數(shù) 
  * @throws Exception 
  */  
 public ImageProcess(InputStream in,String fileName) throws Exception{  
   //構(gòu)造Image對象  
   img = ImageIO.read(in);  
   //得到源圖寬  
   width = img.getWidth(null); 
   //得到源圖長  
   height = img.getHeight(null); 
   //文件格式 
   imageFormat = fileName.substring(fileName.lastIndexOf(".")+1); 
 }  
 /** 
  * 按照寬度還是高度進(jìn)行壓縮 
  * @param w int 最大寬度 
  * @param h int 最大高度 
  */  
 public byte[] resizeFix(int w, int h) throws IOException {  
   if (width / height > w / h) {  
     return resizeByWidth(w);  
   } else {  
     return resizeByHeight(h);  
   }  
 }  
 /** 
  * 以寬度為基準(zhǔn),等比例放縮圖片 
  * @param w int 新寬度 
  */  
 public byte[] resizeByWidth(int w) throws IOException {  
   int h = (int) (height * w / width);  
   return resize(w, h);  
 }  
 /** 
  * 以高度為基準(zhǔn),等比例縮放圖片 
  * @param h int 新高度 
  */  
 public byte[] resizeByHeight(int h) throws IOException {  
   int w = (int) (width * h / height);  
   return resize(w, h);  
 }  
 /** 
  * 強(qiáng)制壓縮/放大圖片到固定的大小 
  * @param w int 新寬度 
  * @param h int 新高度 
  */  
 public byte[] resize(int w, int h) throws IOException {  
   // SCALE_SMOOTH 的縮略算法 生成縮略圖片的平滑度的 優(yōu)先級比速度高 生成的圖片質(zhì)量比較好 但速度慢  
   BufferedImage image = new BufferedImage(w, h,BufferedImage.TYPE_INT_RGB );   
   image.getGraphics().drawImage(img, 0, 0, w, h, null); // 繪制縮小后的圖  
   ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
   ImageIO.write(image, imageFormat, baos); 
   return baos.toByteArray(); 
 }  
} 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的SimpleDateFormat的線程安全問題詳解

    Java中的SimpleDateFormat的線程安全問題詳解

    這篇文章主要介紹了Java中的SimpleDateFormat的線程安全問題詳解,sonar 是一個(gè)代碼質(zhì)量管理工具,SonarQube是一個(gè)用于代碼質(zhì)量管理的開放平臺(tái),為項(xiàng)目提供可視化報(bào)告, 連續(xù)追蹤項(xiàng)目質(zhì)量演化過程,需要的朋友可以參考下
    2024-01-01
  • java 對稱二叉樹的判斷

    java 對稱二叉樹的判斷

    這篇文章主要介紹了java 對稱二叉樹的判斷,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 使用Spring的ApplicationEvent實(shí)現(xiàn)本地事件驅(qū)動(dòng)的實(shí)現(xiàn)方法

    使用Spring的ApplicationEvent實(shí)現(xiàn)本地事件驅(qū)動(dòng)的實(shí)現(xiàn)方法

    本文介紹了如何使用Spring的ApplicationEvent實(shí)現(xiàn)本地事件驅(qū)動(dòng),通過自定義事件和監(jiān)聽器,實(shí)現(xiàn)模塊之間的松耦合,提升代碼的可維護(hù)性和擴(kuò)展性。同時(shí)還介紹了異步事件和事件傳遞的相關(guān)知識(shí)
    2023-04-04
  • SpringCloud負(fù)載均衡spring-cloud-starter-loadbalancer解讀

    SpringCloud負(fù)載均衡spring-cloud-starter-loadbalancer解讀

    這篇文章主要介紹了SpringCloud負(fù)載均衡spring-cloud-starter-loadbalancer使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • Java AOP知識(shí)詳細(xì)介紹

    Java AOP知識(shí)詳細(xì)介紹

    這篇文章主要介紹了Java AOP知識(shí)詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 基于JWT實(shí)現(xiàn)SSO單點(diǎn)登錄流程圖解

    基于JWT實(shí)現(xiàn)SSO單點(diǎn)登錄流程圖解

    這篇文章主要介紹了基于JWT實(shí)現(xiàn)SSO單點(diǎn)登錄流程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • springboot 整合EhCache實(shí)現(xiàn)單服務(wù)緩存的操作方法

    springboot 整合EhCache實(shí)現(xiàn)單服務(wù)緩存的操作方法

    這篇文章主要介紹了springboot 整合EhCache實(shí)現(xiàn)單服務(wù)緩存的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Windows10系統(tǒng)下修改jar中的文件并重新打包成jar文件然后運(yùn)行的操作步驟

    Windows10系統(tǒng)下修改jar中的文件并重新打包成jar文件然后運(yùn)行的操作步驟

    這篇文章主要介紹了Windows10系統(tǒng)下修改jar中的文件并重新打包成jar文件然后運(yùn)行的操作步驟,文中通過圖文結(jié)合的形式給大家講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08
  • SpringBoot如何自定義線程池配置類

    SpringBoot如何自定義線程池配置類

    有時(shí)候我們在項(xiàng)目中做一些長鏈路的跑批任務(wù)時(shí),基于Springboot項(xiàng)目的定時(shí)任務(wù),我們可以指定一個(gè)自定義的線程配置類進(jìn)行單獨(dú)提供給具體跑批任務(wù)使用,而不占用整個(gè)系統(tǒng)資源,這篇文章主要介紹了SpringBoot如何自定義線程池配置類,需要的朋友可以參考下
    2024-04-04
  • JPA如何使用nativequery多表關(guān)聯(lián)查詢返回自定義實(shí)體類

    JPA如何使用nativequery多表關(guān)聯(lián)查詢返回自定義實(shí)體類

    這篇文章主要介紹了JPA如何使用nativequery多表關(guān)聯(lián)查詢返回自定義實(shí)體類,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論

定兴县| 克什克腾旗| 陆丰市| 玉溪市| 平安县| 法库县| 改则县| 汕头市| 泸州市| 城市| 上栗县| 灵山县| 准格尔旗| 兴文县| 凉城县| 德州市| 新竹市| 文成县| 贵定县| 贵阳市| 贵溪市| 崇信县| 凌海市| 静安区| 四子王旗| 望城县| 淄博市| 潢川县| 万山特区| 繁峙县| 集贤县| 龙海市| 兴山县| 峨边| 满洲里市| 塔城市| 营山县| 邵阳县| 高淳县| 辽宁省| 资源县|