利用Java怎么將不同的圖片剪裁成一尺寸的縮略圖?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
成都創(chuàng)新互聯(lián)公司是專業(yè)的榆中網站建設公司,榆中接單;提供成都網站設計、網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行榆中網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!
源碼如下:
package platform.edu.resource.utils; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; /** * 圖片工具類 * @author hjn * @version 1.0 2013-11-26 * */ public class ImageUtil { /** * 圖片等比縮放居中剪裁 * 不管尺寸不等的圖片生成的縮略圖都是同一尺寸,方便用于頁面展示 * @param imageSrc圖片所在路徑 * @param thumbWidth縮略圖寬度 * @param thumbHeight縮略圖長度 * @param outFilePath縮略圖存放路徑 * @throws InterruptedException * @throws IOException */ public static void createImgThumbnail(String imgSrc, int thumbWidth, int thumbHeight, String outFilePath) throws InterruptedException, IOException { File imageFile=new File(imgSrc); BufferedImage image = ImageIO.read(imageFile); Integer width = image.getWidth(); Integer height = image.getHeight(); double i = (double) width / (double) height; double j = (double) thumbWidth / (double) thumbHeight; int[] d = new int[2]; int x = 0; int y = 0; if (i > j) { d[1] = thumbHeight; d[0] = (int) (thumbHeight * i); y = 0; x = (d[0] - thumbWidth) / 2; } else { d[0] = thumbWidth; d[1] = (int) (thumbWidth / i); x = 0; y = (d[1] - thumbHeight) / 2; } File outFile = new File(outFilePath); if (!outFile.getParentFile().exists()) { outFile.getParentFile().mkdirs(); } /*等比例縮放*/ BufferedImage newImage = new BufferedImage(d[0],d[1],image.getType()); Graphics g = newImage.getGraphics(); g.drawImage(image, 0,0,d[0],d[1],null); g.dispose(); /*居中剪裁*/ newImage = newImage.getSubimage(x, y, thumbWidth, thumbHeight); ImageIO.write(newImage, imageFile.getName().substring(imageFile.getName().lastIndexOf(".") + 1), outFile); } }
關于利用Java怎么將不同的圖片剪裁成一尺寸的縮略圖問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。