中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用Java怎么將不同的圖片剪裁成一尺寸的縮略圖

發布時間:2020-12-05 15:46:18 來源:億速云 閱讀:180 作者:Leah 欄目:編程語言

利用Java怎么將不同的圖片剪裁成一尺寸的縮略圖?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

源碼如下:

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怎么將不同的圖片剪裁成一尺寸的縮略圖問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍溪县| 大冶市| 广德县| 手游| 延安市| 星座| 习水县| 溆浦县| 望奎县| 正宁县| 漳平市| 五家渠市| 阳朔县| 顺平县| 元谋县| 阳曲县| 罗定市| 尖扎县| 顺义区| 伊金霍洛旗| 定南县| 兴山县| 林州市| 桐柏县| 富源县| 灵川县| 齐河县| 长葛市| 巢湖市| 沁源县| 澄迈县| 凤山县| 朔州市| 墨脱县| 临沭县| 米脂县| 新干县| 西藏| 兴安盟| 余庆县| 离岛区|