- import java.io.*;
- import com.sun.image.codec.jpeg.*;
- import java.awt.*;
- import java.awt.image.BufferedImage;
- import java.awt.image.*;
- import javax.swing.*;
- public class Test...{
- public static void main(String[]args) throws Exception...{
- //需要添加水印的图片的路径
-
InputStream is = new FileInputStream("需要添加水印的图片.jpg");<a>d</a>
- //通过JPEG图象流创建JPEG数据流解码器
- JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(is);
- //解码当前JPEG数据流,返回BufferedImage对象
- BufferedImage buffImg = jpegDecoder.decodeAsBufferedImage();
- //得到画笔对象
- Graphics g = buffImg.getGraphics();
- //创建你要附加的图象。
- //需要添加的图片水印
- ImageIcon imgIcon = new ImageIcon("图片水印.jpg");
- //得到Image对象。
- Image img = imgIcon.getImage();
- //将小图片绘到大图片上。
- //5,300 .表示你的小图片在大图片上的位置。
- g.drawImage(img,5,330,null);
- //设置颜色。
- g.setColor(Color.BLACK);
- //最后一个参数用来设置字体的大小
- Font f = new Font("宋体",Font.BOLD,30);
- g.setFont(f);
- //10,20 表示这段文字在图片上的位置(x,y) .第一个是你设置的内容。
- g.drawString("添加的水印文字(测试)",10,30);
- g.dispose();
- OutputStream os = new FileOutputStream("最终生成的有水印的图片.jpg");
- //创键编码器,用于编码内存中的图象数据。
- JPEGImageEncoder en = JPEGCodec.createJPEGEncoder(os);
- en.encode(buffImg);
- is.close();
- os.close();
- System.out.println ("水印添加完成");
- }
- }
- //图片的为位置控制: 修改代码中的: g.drawImage(img,5,330,null); 5(x) 和 330(y)
- //内容和字显示的位置: g.drawString("水印显示文字(测试)",10,30);
- 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caoyinghui1986/archive/2008/05/19/2459323.aspx
java实现给图片添加水印和文字(转载)
最新推荐文章于 2024-07-14 03:12:34 发布