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

使用Thumbnails實現(xiàn)圖片指定大小壓縮

 更新時間:2019年08月29日 08:37:20   作者:DcForever  
這篇文章主要為大家詳細介紹了使用Thumbnails實現(xiàn)圖片指定大小壓縮,具有一定的參考價值,感興趣的小伙伴們可以參考一下

項目中有個要求,對上傳服務(wù)器的圖片大小進行判斷,大于500k的圖片要進行壓縮處理,讓其小于500k后在上傳。

可以通過java api的ImageIO實現(xiàn)圖片壓縮,但是看了網(wǎng)上的博客普遍都說bug比較多,會有OOM內(nèi)存溢出的現(xiàn)象。

Thumbnails插件是Google的插件,能指定不同的參數(shù)進行壓縮操作。
比如:寬高(size),縮放(scale),制定質(zhì)量比(outputQuality)等。

插件使用的jar包為:

thumbnailator-0.4.8.jar

代碼如下:

 /**
 * 
 * @param srcPath 原圖片地址
 * @param desPath 目標圖片地址
 * @param desFileSize 指定圖片大小,單位kb
 * @param accuracy 精度,遞歸壓縮的比率,建議小于0.9
 * @return
 */
 public static String commpressPicForScale(String srcPath,String desPath,
 long desFileSize , double accuracy){
 try {
 File srcFile = new File(srcPath);
 long srcFilesize = srcFile.length();
 System.out.println("原圖片:"+srcPath + ",大小:" + srcFilesize/1024 + "kb");
 //遞歸壓縮,直到目標文件大小小于desFileSize
 commpressPicCycle(desPath, desFileSize, accuracy);
 
 File desFile = new File(desPath);
 System.out.println("目標圖片:" + desPath + ",大小" + desFile.length()/1024 + "kb");
 System.out.println("圖片壓縮完成!");
 } catch (Exception e) {
 e.printStackTrace();
 }
 return desPath;
 }

 public static void commpressPicCycle(String desPath , long desFileSize,
 double accuracy) throws IOException{
 File imgFile = new File(desPath);
 long fileSize = imgFile.length();
 //判斷大小,如果小于500k,不壓縮,如果大于等于500k,壓縮
 if(fileSize <= desFileSize * 500){
 return;
 }
 //計算寬高
 BufferedImage bim = ImageIO.read(imgFile);
 int imgWidth = bim.getWidth();
 int imgHeight = bim.getHeight();
 int desWidth = new BigDecimal(imgWidth).multiply(
  new BigDecimal(accuracy)).intValue();
 int desHeight = new BigDecimal(imgHeight).multiply(
  new BigDecimal(accuracy)).intValue();
 Thumbnails.of(desPath).size(desWidth, desHeight).outputQuality(accuracy).toFile(desPath);
 //如果不滿足要求,遞歸直至滿足小于1M的要求
 commpressPicCycle(desPath, desFileSize, accuracy);
 }

然后壓縮圖片大?。?/p>

commpressPicForScale(filePath, filePath, 500, 0.8);

壓縮完成:

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

相關(guān)文章

  • Android 圖片添加水印的實現(xiàn)方法

    Android 圖片添加水印的實現(xiàn)方法

    這篇文章主要介紹了Android 圖片添加水印的實現(xiàn)方法的相關(guān)資料,添加水印的原理就是在畫布Canvas上繪制圖形、圖片、文字等等, 得到你想要的效果圖片,需要的朋友可以參考下
    2017-07-07
  • cocos2d-2.0-x-2.0.3 交叉編譯到android報錯解決

    cocos2d-2.0-x-2.0.3 交叉編譯到android報錯解決

    我用的是cocos2d-2.0-x-2.0.3 之前弄了一天也沒成功 今天來了下載了最新的ndk8 更新了sdk 又重新是了一遍 居然成功了,不知道是工具的版本問題還是哪一步出錯誤了,在這里詳細的整理一下,感興趣的朋友可以了解下
    2013-01-01
  • Android倒計時功能的實現(xiàn)代碼

    Android倒計時功能的實現(xiàn)代碼

    這篇文章主要介紹了Android倒計時功能的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Android實現(xiàn)瘋狂連連看游戲之加載界面圖片和實現(xiàn)游戲Activity(四)

    Android實現(xiàn)瘋狂連連看游戲之加載界面圖片和實現(xiàn)游戲Activity(四)

    這篇文章主要為大家詳細介紹了Android實現(xiàn)瘋狂連連看游戲之加載界面圖片和實現(xiàn)游戲Activity,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • android自定義控件實現(xiàn)簡易時間軸(1)

    android自定義控件實現(xiàn)簡易時間軸(1)

    這篇文章主要為大家詳細介紹了android自定義控件實現(xiàn)簡易時間軸,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Android RecyclerView實現(xiàn)吸頂動態(tài)效果流程分析

    Android RecyclerView實現(xiàn)吸頂動態(tài)效果流程分析

    RecyclerView是Android一個更強大的控件,其不僅可以實現(xiàn)和ListView同樣的效果,還有優(yōu)化了ListView中的各種不足。其可以實現(xiàn)數(shù)據(jù)縱向滾動,也可以實現(xiàn)橫向滾動(ListView做不到橫向滾動)。接下來講解RecyclerView的用法
    2022-12-12
  • Android自定義LinearLayout布局顯示不完整的解決方法

    Android自定義LinearLayout布局顯示不完整的解決方法

    這篇文章主要給大家介紹了關(guān)于Android自定義LinearLayout但布局顯示不完整的解決方法,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-11-11
  • Android listview定位到上次顯示的位置的實現(xiàn)方法

    Android listview定位到上次顯示的位置的實現(xiàn)方法

    這篇文章主要介紹了Android listview定位到上次顯示的位置的實現(xiàn)方法的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-08-08
  • android繪制曲線和折線圖的方法

    android繪制曲線和折線圖的方法

    這篇文章主要介紹了android繪制曲線和折線圖的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 淺析Android手機衛(wèi)士讀取聯(lián)系人

    淺析Android手機衛(wèi)士讀取聯(lián)系人

    這篇文章主要介紹了淺析Android手機衛(wèi)士讀取聯(lián)系人的相關(guān)內(nèi)容,通過getContentResolver()方法獲取獲取ContentResolver內(nèi)容解析器對象,對android手機衛(wèi)士讀取聯(lián)系人相關(guān)知識感興趣的朋友參考下吧
    2016-04-04

最新評論

彩票| 东阿县| 麦盖提县| 贞丰县| 达尔| 安远县| 屏南县| 宁国市| 宜黄县| 黑河市| 安国市| 成安县| 天祝| 修水县| 德清县| 新乐市| 上犹县| 双城市| 河北省| 银川市| 武义县| 平山县| 定结县| 九寨沟县| 泾阳县| 乐昌市| 绩溪县| 易门县| 光山县| 龙山县| 浦城县| 三河市| 时尚| 城固县| 黑龙江省| 邯郸县| 南岸区| 腾冲县| 侯马市| 涪陵区| 南溪县|