處理圖片的java工具類

jopen 12年前發布 | 28K 次閱讀 圖形/圖像處理 Java

主要是對圖片進行放大/縮小。

public class ImageUtils {
    /**

 * 對圖片進行放大
 * @param originalImage 原始圖片
 * @param times 放大倍數
 * @return
 */
public static BufferedImage  zoomInImage(BufferedImage  originalImage, Integer times){
    int width = originalImage.getWidth()*times;
    int height = originalImage.getHeight()*times;
    BufferedImage newImage = new BufferedImage(width,height,originalImage.getType());
    Graphics g = newImage.getGraphics();
    g.drawImage(originalImage, 0,0,width,height,null);
    g.dispose();
    return newImage;
}
/**
 * 對圖片進行放大
 * @param srcPath 原始圖片路徑(絕對路徑)
 * @param newPath 放大后圖片路徑(絕對路徑)
 * @param times 放大倍數
 * @return 是否放大成功
 */
public static boolean zoomInImage(String srcPath,String newPath,Integer times){
    BufferedImage bufferedImage = null;
    try {
        File of = new File(srcPath);
        if(of.canRead()){
            bufferedImage =  ImageIO.read(of);
        }
    } catch (IOException e) {
        //TODO: 打印日志
        return false;
    }
    if(bufferedImage != null){
        bufferedImage = zoomInImage(bufferedImage,times);
        try {
            //TODO: 這個保存路徑需要配置下子好一點
            ImageIO.write(bufferedImage, "JPG", new File(newPath)); //保存修改后的圖像,全部保存為JPG格式
        } catch (IOException e) {
            // TODO 打印錯誤信息
            return false;
        }
    }
    return true;
}
/**
 * 對圖片進行縮小
 * @param originalImage 原始圖片
 * @param times 縮小倍數
 * @return 縮小后的Image
 */
public static BufferedImage  zoomOutImage(BufferedImage  originalImage, Integer times){
    int width = originalImage.getWidth()/times;
    int height = originalImage.getHeight()/times;
    BufferedImage newImage = new BufferedImage(width,height,originalImage.getType());
    Graphics g = newImage.getGraphics();
    g.drawImage(originalImage, 0,0,width,height,null);
    g.dispose();
    return newImage;
}
/**
 * 對圖片進行縮小
 * @param srcPath 源圖片路徑(絕對路徑)
 * @param newPath 新圖片路徑(絕對路徑)
 * @param times 縮小倍數
 * @return 保存是否成功
 */
public static boolean zoomOutImage(String srcPath,String newPath,Integer times){
    BufferedImage bufferedImage = null;
    try {
        File of = new File(srcPath);
        if(of.canRead()){
            bufferedImage =  ImageIO.read(of);
        }
    } catch (IOException e) {
        //TODO: 打印日志
        return false;
    }
    if(bufferedImage != null){
        bufferedImage = zoomOutImage(bufferedImage,times);
        try {
            //TODO: 這個保存路徑需要配置下子好一點
            ImageIO.write(bufferedImage, "JPG", new File(newPath)); //保存修改后的圖像,全部保存為JPG格式
        } catch (IOException e) {
            // TODO 打印錯誤信息
            return false;
        }
    }
    return true;
}</pre><br />
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!