最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現的不同圖片居中剪裁生成同一尺寸縮略圖功能示例

 更新時間:2017年09月19日 10:33:07   作者:送人玫瑰手留余香  
這篇文章主要介紹了Java實現的不同圖片居中剪裁生成同一尺寸縮略圖功能,涉及java針對圖片的讀取、屬性修改等相關操作技巧,需要的朋友可以參考下

本文實例講述了Java實現的不同圖片居中剪裁生成同一尺寸縮略圖功能。分享給大家供大家參考,具體如下:

因為業(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);
}
}

PS:這里再為大家推薦幾款比較實用的圖片處理工具供大家參考使用:

在線圖片轉換BASE64工具:
http://tools.jb51.net/transcoding/img2base64

ICO圖標在線生成工具:
http://tools.jb51.net/aideddesign/ico_img

在線Email郵箱圖標制作工具:
http://tools.jb51.net/email/emaillogo

在線圖片格式轉換(jpg/bmp/gif/png)工具:
http://tools.jb51.net/aideddesign/picext

更多java相關內容感興趣的讀者可查看本站專題:《Java圖片操作技巧匯總》、《java日期與時間操作技巧匯總》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》及《Java數據結構與算法教程》。

希望本文所述對大家java程序設計有所幫助。

相關文章

  • 面試JAVA時,問到spring該怎么回答

    面試JAVA時,問到spring該怎么回答

    這篇文章主要介紹了Spring面試資料,學Java的小伙伴都知道Spring是面試的必問環(huán)節(jié),看完了一天就可掌握數據結構和算法的面試題,快來看看吧
    2021-08-08
  • Java截取字符串的方法

    Java截取字符串的方法

    這篇文章主要介紹了Java截取字符串的方法,實例分析了java中substring方法的使用技巧,需要的朋友可以參考下
    2015-05-05
  • 詳解idea+maven打jar包的兩種方式

    詳解idea+maven打jar包的兩種方式

    這篇文章主要介紹了idea+maven打jar包的兩種方式,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 在java中ArrayList集合底層的擴容原理

    在java中ArrayList集合底層的擴容原理

    這篇文章主要介紹了在java中ArrayList集合底層的擴容原理,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • spring session同域下單點登錄實現解析

    spring session同域下單點登錄實現解析

    這篇文章主要介紹了spring session同域下單點登錄實現解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Java8中Stream的一些神操作

    Java8中Stream的一些神操作

    Stream是Java8中處理集合的關鍵抽象概念,它可以指定你希望對集合進行的操作,可以執(zhí)行非常復雜的查找、過濾和映射數據等操作,這篇文章主要給大家介紹了Java8中Stream的一些神操作,需要的朋友可以參考下
    2021-11-11
  • 詳解5種Java中常見限流算法

    詳解5種Java中常見限流算法

    在高并發(fā)系統(tǒng)中,出于系統(tǒng)保護角度考慮,通常會對流量進行限流;不但在工作中要頻繁使用,而且也是面試中的高頻考點。本文就為大家整理了5種Java中常見限流算法,需要的可以參考一下
    2023-04-04
  • Java 中的抽象介紹

    Java 中的抽象介紹

    這篇文章主要介紹了Java 中的抽象,數據抽象是一種僅向用戶顯示基本細節(jié)的屬性。不向用戶顯示瑣碎或非必需的單元,下面文章Java抽象詳細內容,需要的朋友可以參考一下
    2021-12-12
  • Java中jar包運行后顯示:沒有主清單屬性的解決方案

    Java中jar包運行后顯示:沒有主清單屬性的解決方案

    這篇文章主要介紹了Java中jar包運行后顯示:沒有主清單屬性的解決方案,文中給大家分析了三個主要原因,并通過代碼示例和圖文講解的非常詳細,需要的朋友可以參考下
    2024-04-04
  • java web實現網上手機銷售系統(tǒng)

    java web實現網上手機銷售系統(tǒng)

    這篇文章主要為大家詳細介紹了java web實現網上手機銷售系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08

最新評論

化州市| 法库县| 伽师县| 宁强县| 清流县| 汉源县| 广德县| 富川| 荆门市| 阳泉市| 济南市| 高陵县| 绥滨县| 方城县| 通道| 如皋市| 罗甸县| 高碑店市| 凌源市| 准格尔旗| 勃利县| 平和县| 钟山县| 高清| 遵义市| 土默特左旗| 日照市| 长白| 绥江县| 汾西县| 南木林县| 衡山县| 前郭尔| 延寿县| 克什克腾旗| 南京市| 松潘县| 文登市| 平邑县| 邛崃市| 二手房|