package com
import java
import java
import java
import java
import java
import java
import java
import java
import java
import java
import java
import javax
import javax
/**
* 圖片水印
*/
public class ImageUtil {
/**
* @param args
*/
public static void main(String[] args) {
String srcImgPath = "e:/
String iconPath = "e:logo
String targerPath = "e:/
// 給圖片添加水印
ImageUtil
// 給圖片添加水印
// ImageMarkLogoByIcon
// targerPath
}
/**
* 給圖片添加水印
*
* @param iconPath
* 水印圖片路徑
* @param srcImgPath
* 源圖片路徑
* @param targerPath
* 目標圖片路徑
* @param degree
* 水印圖片旋轉角度
* @param width
* 寬度(與左相比)
* @param height
* 高度(與頂相比)
* @param clarity
* 透明度(小於
*/
public static void waterMarkImageByIcon(String iconPath
String targerPath
float clarity) {
OutputStream os = null;
try {
Image srcImg = ImageIO
System
System
BufferedImage buffImg = new BufferedImage(srcImg
srcImg
// 得到畫筆對象
// Graphics g= buffImg
Graphics
// 設置對線段的鋸齒狀邊緣處理
g
RenderingHints
g
srcImg
srcImg
null);
if (null != degree) {
// 設置水印旋轉
g
(double) buffImg
(double) buffImg
}
// 水印圖象的路徑 水印一般為gif或者png的
ImageIcon imgIcon = new ImageIcon(iconPath);
// 得到Image對象
Image img = imgIcon
float alpha = clarity; // 透明度
g
alpha));
// 表示水印圖片的位置
g
g
g
os = new FileOutputStream(targerPath);
// 生成圖片
ImageIO
System
} catch (Exception e) {
e
} finally {
try {
if (null != os)
os
} catch (Exception e) {
e
}
}
}
/**
* 給圖片添加水印
*
* @param logoText
* 水印文字
* @param srcImgPath
* 源圖片路徑
* @param targerPath
* 目標圖片路徑
* @param degree
* 水印圖片旋轉角度
* @param width
* 寬度(與左相比)
* @param height
* 高度(與頂相比)
* @param clarity
* 透明度(小於
*/
public static void waterMarkByText(String logoText
String targerPath
Float clarity) {
// 主圖片的路徑
InputStream is = null;
OutputStream os = null;
try {
Image srcImg = ImageIO
BufferedImage buffImg = new BufferedImage(srcImg
srcImg
// 得到畫筆對象
// Graphics g= buffImg
Graphics
// 設置對線段的鋸齒狀邊緣處理
g
RenderingHints
g
srcImg
srcImg
null);
if (null != degree) {
// 設置水印旋轉
g
(double) buffImg
(double) buffImg
}
// 設置顏色
g
// 設置 Font
g
float alpha = clarity;
g
alpha));
// 第一參數
g
g
os = new FileOutputStream(targerPath);
// 生成圖片
ImageIO
System
} catch (Exception e) {
e
} finally {
try {
if (null != is)
is
} catch (Exception e) {
e
}
try {
if (null != os)
os
} catch (Exception e) {
e
}
}
}
}
還有一個圖片縮放代碼:
/**
* 圖片縮放(圖片等比例縮放為指定大小
*
* @param srcPath
* 源圖片路徑
* @param destPath
* 縮放後圖片路徑
*/
public static void zoomImage(String srcPath
try {
BufferedImage srcBufferedImage = ImageIO
int imgWidth = destWidth;
int imgHeight = destHeight;
int srcWidth = srcBufferedImage
int srcHeight = srcBufferedImage
if (srcHeight >= srcWidth) {
imgWidth = (int) Math
} else {
imgHeight = (int) Math
}
BufferedImage destBufferedImage = new BufferedImage(destWidth
Graphics
graphics
graphics
graphics
graphics
ImageIO
} catch (IOException e) {
e
}
}
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20206.html