六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 40|回复: 0

java实现给图片添加水印和文字

[复制链接]

升级  74%

45

主题

45

主题

45

主题

秀才

Rank: 2

积分
161
 楼主| 发表于 2013-1-15 02:40:48 | 显示全部楼层 |阅读模式
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{
         
         //1.jpg是你的 主图片的路径
         InputStream is = new FileInputStream("1.jpg");
         
         
         //通过JPEG图象流创建JPEG数据流解码器
         JPEGImageDecoder jpegDecoder = JPEGCodec.createJPEGDecoder(is);
         //解码当前JPEG数据流,返回BufferedImage对象
         BufferedImage buffImg = jpegDecoder.decodeAsBufferedImage();
         //得到画笔对象
         Graphics g = buffImg.getGraphics();
         
         //创建你要附加的图象。
         //2.jpg是你的小图片的路径
         ImageIcon imgIcon = new ImageIcon("2.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("默哀555555。。。。。。。",10,30);
         
         g.dispose();
         
         
         
         OutputStream os = new FileOutputStream("union.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("默哀555555。。。。。。。",10,30);
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表