1. 程式人生 > >java 等比例 改變圖片的質量(等大小壓縮圖片)

java 等比例 改變圖片的質量(等大小壓縮圖片)

 /**
     * @param originalFile  原檔案
     * @param resizedFile  壓縮目標檔案
     * @param quality  壓縮質量(越高質量越好)
     * @param scale  縮放比例;  1等大.
     * @throws IOException
     */
    public static void resize(File originalFile, File resizedFile,double scale, float quality) throws IOException {  
        ImageIcon ii = new ImageIcon(originalFile.getCanonicalPath());  
        Image i = ii.getImage();  
        int iWidth = (int) (i.getWidth(null)*scale);  
        int iHeight = (int) (i.getHeight(null)*scale); 
        //在這你可以自定義 返回圖片的大小 iWidth iHeight
        Image resizedImage = i.getScaledInstance(iWidth,iHeight, Image.SCALE_SMOOTH);  
        // 獲取圖片中的所有畫素
        Image temp = new ImageIcon(resizedImage).getImage();  
        // 建立緩衝
        BufferedImage bufferedImage = new BufferedImage(temp.getWidth(null),  
                temp.getHeight(null), BufferedImage.TYPE_INT_RGB);  
        // 複製圖片到緩衝流中
        Graphics g = bufferedImage.createGraphics();  
        // 清除背景並開始畫圖
        g.setColor(Color.white);  
        g.fillRect(0, 0, temp.getWidth(null), temp.getHeight(null));  
        g.drawImage(temp, 0, 0, null);  
        g.dispose();
        // 柔和圖片.  
        float softenFactor =0.05f;  
        float[] softenArray = { 0, softenFactor, 0, softenFactor,  
                1 - (softenFactor * 4), softenFactor, 0, softenFactor, 0 };  
        Kernel kernel = new Kernel(3, 3, softenArray);  
        ConvolveOp cOp = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);  
        bufferedImage = cOp.filter(bufferedImage, null);  
        FileOutputStream out = new FileOutputStream(resizedFile);  
        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);  
        JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bufferedImage);  
        param.setQuality(quality, true);  
        encoder.setJPEGEncodeParam(param);  
        encoder.encode(bufferedImage);
        bufferedImage.flush();
        out.close();
    } 

相關推薦

java 比例 改變圖片質量(大小壓縮圖片)

/** * @param originalFile 原檔案 * @param resizedFile 壓縮目標檔案 * @param quality 壓縮質量(越高質量越好) * @param scale 縮放比例; 1等

比例改變圖片大小

exists write graphic pri runt delet jpeg scale read import java.awt.image.BufferedImage; import java.io.BufferedOutputStream; import jav

PHP比例縮放圖片大小壓縮圖片空間

/** * 等比例壓縮圖片,支援圖片格式jpg,jpeg,png * @param string $dst_dir 上傳的資料夾 * @param string $dst_name 上傳後的名稱,不包括副檔名 * @param int $maxWidth 如果需要等比

JS控制圖片顯示的大小圖片比例縮放)

在Web上顯示圖片,通常都會有圖片顯示比例問題,如果不給<img />限制width和height,那麼如果圖片大了就會將整個頁面擠亂,圖片小了又會使圖片失真。 我的需求如下: 預先定義好圖片顯示的標準寬度和高度。 如果圖片的大小超過了標準定義,那麼等比例壓縮圖片。 如果圖片的大小等於標準定義,

教你怎麼圖片比例放大縮小超過螢幕大小

我就是那個帖子的樓主並且是版主,希望以後和大家多交流,我是南京誠邁公司的,叫廖建國,在ES2部分。 之前看到好多人問一個問題:怎麼圖片等比例放大或縮小超過螢幕大小,主要是後面超過螢幕大小,我一直沒看到有人回答,這個功能比較常見,所以我把這個方法共享出來,只是寫了核心

php實現比例不失真縮放上傳圖片的方法

jpeg || 占用空間 pos width 參考 idt brush 上傳圖片 本文實例分析了php實現等比例不失真縮放上傳圖片的方法。分享給大家供大家參考,具體如下: 有時上傳圖片時因為圖片太大了,不僅占用空間,消耗流量,而且影響瀏(圖片的尺寸大小不一)。下面分享一種等

php實現比例不失真縮放上傳圖片

有時上傳圖片時因為圖片太大了,不僅佔用空間,消耗流量,而且影響瀏(圖片的尺寸大小不一)。下面分享一種等比例不失真縮放圖片的方法,這樣,不管上傳的圖片尺有多大,都會自動壓縮到我們設定尺寸值的範圍之內。經過

壓縮圖片的方法(壓縮圖片質量

/** * 多執行緒壓縮圖片的質量 * @param image 記憶體中的圖片 * @param imgPath 圖片的儲存路徑 */ private void compressImage(final Bit

Android 減少APK大小--壓縮圖片資原始檔

開啟這個網站  https://tinypng.com/ 將demo裡面的圖片資原始檔一個一個放進去,他會自動生成新的壓縮圖片 下載後替換原來的圖片就行了 注意   有些圖片壓縮後,可能效果不是很好,特別是大的圖片,最好多檢查一下 一般 情況還是可以的

簡單的壓縮圖片的方法,壓縮圖片大小的步驟

我們在日常生活中也會遇到比較大的圖片,比較大的圖片檔案比較麻煩,上傳到網站論壇做頭像都傳不上去,大家可以將圖片檔案進行簡單的壓縮,然後進行上傳,教給大家一種簡單的壓縮圖片的方法。 1:先要將自己的圖片檔案準備好,放置在容易找到的位置,也可以直接放置到電腦的桌面。 2:

UIWebView改變HTML中圖片大小,進行比例縮放

http://www.lanou3g.com/bbs/forum.php?mod=viewthread&tid=5189 現在越來越多的應用採用了Hybrid App(混合模式移動應用)這種開發模式,所以我們以後可能會越來越多的和UIWebView打交道。今天分享

【Thumbnailator】java 使用Thumbnailator實現比例縮放圖片,旋轉圖片【轉載】

strong class chm eight load angle true api ins Thumbnailator概述: Thumbnailator是與Java界面流暢的縮略圖生成庫。它簡化了通過提供一個API允許精細的縮略圖生成調整生產從現有的圖

Java實現圖片比例縮圖

參考:Java實現圖片等比例縮圖 程式碼:SpringBoot版:https://gitee.com/Yenn-2017_admin/java_proportional_thumbnails 優點: 提升程式效能,提高程式效率 實現方式介紹 案例介紹 實現

Android 根據手機的螢幕的大小設定圖片比例縮放

最近用到把一個圖片繪製到畫布上,然後用畫筆做標記,但是獲取的是圖片的寬和高,這樣繪製出來的無法完全匹配成全屏,下面記錄一個方法等比例了縮放: /** * * @param bm 傳入的bitmap * @param newWidth 指定

基於layer的圖片彈出展示,預設原大小展示。圖片太大則比例縮小。

程式碼如下,需要展示時呼叫previewImg方法就好了: /*** * 圖片彈出展示,預設原大小展示。圖片大於瀏覽器時下視窗可視區域時,進行等比例縮小。 * config.src 圖片路徑。必須項 * default_config.height 圖片顯示高度,預設原

rem自適應 窗體大小自動 rem設定 改變rem來完成比例縮放

<body onresize="phoneResize()" onload="phoneResize()"> 當視窗大小發生改變時 </body> // 設

java指定寬度比例壓縮圖片

最近做專案需要用到圖片壓縮技術,在這裡整理下做個分享。 需要注意的是如果要壓縮的圖片太大,就需要修改JDK的預設記憶體了。廢話不多說,直接上程式碼。 import java.awt.Color; import java.awt.Graphics; import java.

java 比例壓縮圖片(背景不會成黑的)

class ImagesTool { public static void img_change(String url,String name) { Tosmallerpic(url,new File(url+name),"_small",name,30,40,(

Java 實現圖片比例縮圖 (Thumbnailator + Jsp+SpringMVC)

Web應用為上傳圖片生成縮圖是常見的基本功能,通過縮圖生成提高了資訊瀏覽時的效能,在保證使用者使用體驗的同時減少了資料傳輸量。本次以例項的方式,講解如何使用使用Java實現圖片等比例縮圖生成功能。 效果檢視 程式碼編寫 Thumbn

java上傳並壓縮圖片比例壓縮或者原尺寸壓縮

先看效果: 原圖:1.33M 處理後:27.4kb 關鍵程式碼; package codeGenerate.util; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Imag