首页 > 代码库 > 图片添加水印
图片添加水印
在平时的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:CIACs16 * 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 try28 { 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项目中使用。
图片添加水印
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。