小編給大家分享一下java中如何將一圖片同比例縮小繪制,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
在獲得客戶端的一個圖片后,發現傳過來的圖片太大,不宜在已經排版好的格式里面顯示出來,特別是頁面的圖片特別多時,更不能都讓大圖片縮小顯示。
一般遇到圖片問題,有以下幾種解決方案:
一、規定(自定義)圖片大小
在該位置,圖片是多大就顯示多大,
這種情況簡單易行,但圖片易變形,圖片太大,導致頁面打開速度過慢
二、獲得圖片尺寸
也因圖片過大,不宜在圖片過多的也面中顯示
下面介紹一種方法,可以讀取大圖片并生成一個小圖片,以解決圖片問題。
/* * Created on 2004-10-11 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package net.jspcn.test; import java.io.File; import java.io.FileOutputStream; import java.awt.Image; import java.awt.image.BufferedImage; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class JpgTest { public void jpgTset() throws Exception{ File _file = new File("d:1.jpg"); //讀入文件 Image src = javax.imageio.ImageIO.read(_file); //構造Image對象 int wideth=src.getWidth(null); //得到源圖寬 int height=src.getHeight(null); //得到源圖長 BufferedImage tag = new BufferedImage(wideth/2,height/2,BufferedImage.TYPE_INT_RGB); tag.getGraphics().drawImage(src,0,0,wideth/2,height/2,null); //繪制縮小后的圖 FileOutputStream out=new FileOutputStream("D: ewfile.jpg"); //輸出到文件流 //File file = new File("D: ewFile.jpg"); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); //JPEGImageEncoder encoder = JPEGCodec.c encoder.encode(tag); //近JPEG編碼 out.close(); } public static void main(String[] args){ try{ new JpgTest().jpgTset(); }catch(Exception e){ e.printStackTrace(); } } } |
當然,在此基礎上,你可以寫一圖片處理程序,批量的處理你的圖片
看完了這篇文章,相信你對“java中如何將一圖片同比例縮小繪制”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。