資源簡介
java 處理圖片大小等比例縮放;圖片裁剪;支持圖片壓縮不失真;支持圖片添加水印;支持動態圖的處理;支持自定義圖片大小的轉換 等 壓縮包中內附使用說明

代碼片段和文件信息
package?com.system.oss.common.util;
import?java.awt.Graphics2D;
import?java.awt.Image;
import?java.awt.Rectangle;
import?java.awt.RenderingHints;
import?java.awt.geom.AffineTransform;
import?java.awt.image.BufferedImage;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?javax.imageio.ImageIO;
import?org.apache.commons.logging.Log;
import?org.apache.commons.logging.LogFactory;
import?com.gif4j.GifDecoder;
import?com.gif4j.GifEncoder;
import?com.gif4j.GifImage;
import?com.gif4j.GifTransformer;
import?com.sun.image.codec.jpeg.JPEGCodec;
import?com.sun.image.codec.jpeg.JPEGImageEncoder;
import?com.zte.pp.otherplatforms.ToOtherPlatforms;
/**?圖片工具類,完成圖片的截取
?*?
?*?@author?LiLi?*/
public?class?IamgesResize
{
????private?static?Log?log?=?LogFactory.getLog(IamgesResize.class);
????BufferedImage?bufImage;?//?原始圖片
????int?width;?//?縮放的寬度
????int?height;?//?縮放的高度
????public?IamgesResize()
????{
????}
????public?IamgesResize(String?srcPath?int?width?int?height)
????{
????????this.width?=?width;
????????this.height?=?height;
????????try
????????{
????????????this.bufImage?=?ImageIO.read(new?File(srcPath));
????????}
????????catch?(Exception?e)
????????{
????????????e.printStackTrace();
????????}
????}
????/**?實現圖像的等比縮放和縮放后的截取,如果高度的值和寬度一樣,則縮放按設置的值縮放?(只控制寬度的大小,高度的值設置不生效(只有高度的值和寬度的一樣才生效),?高度自動按比例縮放;如果縮放的圖片小于你設置的值則保存原圖大?。?br/>?????*?
?????*?@param?inFilePath
?????*????????????要縮放圖片文件的路徑
?????*?@param?outFilePath
?????*????????????縮放后保存圖片輸出的路徑
?????*?@param?width
?????*????????????要截取寬度
?????*?@param?hight
?????*????????????要截取的高度
?????*?@param?smooth?是否是動態圖??????
?????*??
?????*?@throws?Exception?*/
????public?static?void?zoomOutImage(String?inFilePath?String?outFilePath?int?width?int?hight?boolean?smooth)
????????????throws?Exception
????{
????????int?maxHight?=?500;?//?設置最大的圖片高度;
????????File?file?=?new?File(inFilePath);
????????InputStream?in?=?new?FileInputStream(file);
????????File?saveFile?=?new?File(outFilePath);
????????BufferedImage?srcImage?=?ImageIO.read(in);
????????//?原圖的大小
????????int?sw?=?srcImage.getWidth();
????????int?sh?=?srcImage.getHeight();
????????String?gif?=?inFilePath.substring(inFilePath.lastIndexOf(“.“)?+?1?inFilePath.length());
????????if?((gif.equals(“gif“)?||?gif.equals(“GIF“))?&&?smooth?==?true)?//?gif動態圖片的處理
????????{
????????????
????????????IamgesResize.getGifImage(inFilePath?outFilePath?width?hight?true);
????????}
????????else
????????{
????????????//?如果寬度和高度一樣?或者圖片的規格為?images_120?時不按等比縮放,如果需要等比縮放?則將下面的?if?語句注釋即可
????????????//?如果原圖片寬度大于高度,并且是縮小的高度寬度要求相等
????????????if?(sw?>?sh?&&?width?==?hight)
????????????{
????????????????width?=?sw?*?hight?/?sh;
????????????}
????????????else?if?(!outFilePath.contains(“images_120“))
????????????{
????????????????double?sx?=?(double)?width?/?sw;
????????????????hight?=?(int)?(sh
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????17909??2019-03-05?17:49??java圖片大小轉換\IamgesResize.java
?????文件???????58005??2014-03-15?10:03??java圖片大小轉換\ToOtherPlatforms.java
?????文件??????136113??2014-03-15?10:02??java圖片大小轉換\gif4j.jar
?????文件??????????93??2019-03-05?17:52??java圖片大小轉換\說明.txt
?????目錄???????????0??2019-03-05?17:51??java圖片大小轉換\
評論
共有 條評論