您好,登錄后才能下訂單哦!
小編給大家分享一下java中如何將一圖片同比例縮小繪制,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
在獲得客戶端的一個(gè)圖片后,發(fā)現(xiàn)傳過(guò)來(lái)的圖片太大,不宜在已經(jīng)排版好的格式里面顯示出來(lái),特別是頁(yè)面的圖片特別多時(shí),更不能都讓大圖片縮小顯示。
一般遇到圖片問(wèn)題,有以下幾種解決方案:
一、規(guī)定(自定義)圖片大小
在該位置,圖片是多大就顯示多大,
這種情況簡(jiǎn)單易行,但圖片易變形,圖片太大,導(dǎo)致頁(yè)面打開(kāi)速度過(guò)慢
二、獲得圖片尺寸
也因圖片過(guò)大,不宜在圖片過(guò)多的也面中顯示
下面介紹一種方法,可以讀取大圖片并生成一個(gè)小圖片,以解決圖片問(wèn)題。
/* * 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); //構(gòu)造Image對(duì)象 int wideth=src.getWidth(null); //得到源圖寬 int height=src.getHeight(null); //得到源圖長(zhǎng) 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(); } } } |
當(dāng)然,在此基礎(chǔ)上,你可以寫一圖片處理程序,批量的處理你的圖片
看完了這篇文章,相信你對(duì)“java中如何將一圖片同比例縮小繪制”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。