码迷,mamicode.com
首页 > 其他好文 > 详细

图片添加水印

时间:2014-12-22 22:38:19      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

  在平时的web项目中我们可能需要在图片上加一些属于自己的东西,就像weibo发图片会带有微博名的水印,这个功能可以用在我们的web项目中,这样我们的图片将会与众不同。下面是实现该功能的代码

这个是主要的类

 1 package ciacs.picture.test;
 2 import java.awt.Color;
 3 import java.awt.Font;
 4 import java.awt.Graphics;
 5 import java.awt.Image;
 6 import java.awt.image.BufferedImage;
 7 import java.io.FileOutputStream;
 8 
 9 import javax.swing.ImageIcon;
10 
11 import com.sun.image.codec.jpeg.JPEGCodec;
12 import com.sun.image.codec.jpeg.JPEGImageEncoder;
13 
14 /*
15  * @author:CIACs
16  * 
17  */
18 
19 
20 public class WaterMark{
21 
22     public boolean addMark(String file)
23     {
24         boolean flag=true;
25 
26         String str = "http://www.cnblogs.com/zhi-hao/";
27         try
28         {        
29             ImageIcon imgIcon=new ImageIcon(file);
30             Image img = imgIcon.getImage();
31             int width = img.getWidth(null);   
32             int height = img.getHeight(null); 
33             //create target image    
34             BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);   
35             //get a graphics pen   
36             Graphics g = image.createGraphics();   
37             //draw source image    
38             g.drawImage(img, 0, 0, width, height, null);       
39 
40             //可以改变画笔的颜色
41 
42             g.setColor(Color.blue);
43             //可以设置你要的字体、颜色、大小
44             g.setFont(new Font("Courier", Font.PLAIN, 23));
45             //设置水印出现在图片的位置
46             g.drawString(str, 280, height-23);    
47             g.dispose();        
48             FileOutputStream os = new FileOutputStream(file);    
49             JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os);    
50             encoder.encode(image);
51 
52         }catch(Exception e)
53         {
54             System.out.println(e.getMessage());
55             flag=false;
56         }            
57         return flag;
58     }
59 
60 } 

下面这个是测试类

 1 package ciacs.picture.test;
 2 
 3 public class test{
 4     
 5     public static void main(String[] args) {
 6         WaterMark mark = new WaterMark();
 7         //添加的为图片所在的路径
 8         mark.addMark("D:/test.png");
 9         
10         
11         
12     }
13 
14 }

结果:

技术分享

 

  这个加水印的功能稍加修改就可以作为组件提供给我们的web项目中使用。

 

图片添加水印

标签:

原文地址:http://www.cnblogs.com/zhi-hao/p/4179081.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!