package com.swing.demo; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.FileOutputStream; import javax.swing.ImageIcon; import com.sun.image.codec.jpeg.JPEGCodec; import com.sun.image.codec.jpeg.JPEGEncodeParam; import com.sun.image.codec.jpeg.JPEGImageEncoder; public class WaterMark { public static void main(String arg[]){ WaterMark wk=new WaterMark(); if(wk.createMark("C://Documents and Settings//Administrator//桌面//眼睛.jpg", "http://www.51dass.com",Color.RED,70f,"")){ System.out.println("制作成功"); }else{ System.out.println("我失败了!"); } } /** * 给图片添加水印 * @param filePath 需要添加水印的图片的路径 * @param markContent 水印的文字 * @param markContentColor 水印文字的颜色 * @param qualNum 图片质量 * @return */ public boolean createMark(String filePath,String markContent, Color markContentColor,float qualNum,String watermark) { //路径中得到图片 ImageIcon imgIcon=new ImageIcon(filePath); Image theImg =imgIcon.getImage(); int width=theImg.getWidth(null); int height= theImg.getHeight(null); BufferedImage bimage = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB); Font font = new Font("新宋体", Font.PLAIN, 15); Graphics2D g=bimage.createGraphics(); g.setColor(markContentColor); g.setFont(font); g.setBackground(Color.white); g.drawImage(theImg, 0, 0, null ); //添加水印的文字和设置水印文字出现的内容 g.drawString(markContent,width-100,height-30); g.dispose(); try{ FileOutputStream out=new FileOutputStream(filePath); JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage); param.setQuality(qualNum, true); encoder.encode(bimage, param); out.close(); }catch(Exception e){ return false; } return true; } }