您的位置:首页 > 编程语言 > Java开发

Java代码实现图片水印效果

2011-06-24 09:03 886 查看
这是一个简单的图片水印效果实现,采用Java编码。

import java.io.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.swing.ImageIcon;

/**
* 图片水印
* @author Administrator
* @update update at 2011-06-16
*/
public class ImageWatermarking {
public static void main(String[] args) {
try {
File file = new File("C://虎丘.jpg");
if (!file.exists()) {
System.out.println("File not Found!");
return;
}

ImageIcon icon = new ImageIcon(file.getPath());
BufferedImage bufferedImage = new BufferedImage(
icon.getIconWidth(), icon.getIconHeight(),
BufferedImage.TYPE_INT_RGB);

Graphics2D g2d = (Graphics2D) bufferedImage.getGraphics();
// 图像呈现
g2d.drawImage(icon.getImage(), 0, 0, null);
// AlphaComposite 类实现一些基本的 alpha 合成规则,将源色与目标色组合,
// 在图形和图像中实现混合和透明效果
AlphaComposite alpha = AlphaComposite.getInstance(
AlphaComposite.SRC_OVER, 0.5f);
g2d.setComposite(alpha);
// 水印颜色
g2d.setColor(Color.white);
// 为呈现算法设置首选项(此处为文本抗锯齿提示键)的值
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
// 水印字体
//g2d.setFont(new Font("Arial", Font.ITALIC, 16));
g2d.setFont(new Font("楷体_GB2312", Font.PLAIN, 18));
// 水印文字
String watermark = "微尘";
// 文本呈现
g2d.drawString(watermark, (icon.getIconWidth() - 50),
(icon.getIconHeight() - 15));
g2d.dispose();
File fileout = new File("C://水印图.jpg");
// 生成图片
ImageIO.write(bufferedImage, "jpg", fileout);
System.out.println("Success!");
} catch (IOException ioe) {
System.out.println("Failure!");
}
}
}


原文出处:http://www.roseindia.net/tutorial/java/swing/imageWatermarking.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: