某些应用场景下需要对图片加上水印防止盗用,例如微博用户图片。Java中实现添加水印需要用到BufferedImage、Graphics2D 和ImageIO类。
1. 添加文字水印
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import javax.imageio.ImageIO;
/**
* 添加文字水印
*
* @author Ricky Fung
*/
public class TextMarkProcessor {
/**
* @param args
*/
public static void main(String[] args) {
new TextMarkProcessor().testTextMark();
}
public void testTextMark() {
File srcImgFile = new File("D:/test/desktop.png");
String logoText = "[ 天使的翅膀 ]";
File outputRotateImageFile = new File("D:/test/desktop_text_mark.jpg");
createWaterMarkByText(srcImgFile, logoText, outputRotateImageFile, 0);
}
public void