Java实现给图片增添水印
Java实现给图片添加水印
package com.ccniit.url; import java.awt.*; import java.awt.image.*; import java.io.*; import javax.swing.*; import com.sun.image.codec.jpeg.*; public class WaterMark{ /* * 给图片添加水印 * @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); //ImageIcon waterIcon=new ImageIcon(watermark); //Image waterImg =waterIcon.getImage(); BufferedImage bimage = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB); Graphics2D g=bimage.createGraphics(); g.setColor(markContentColor); g.setBackground(Color.white); g.drawImage(theImg, 0, 0, null ); //g.drawImage(waterImg, width*2, height, 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; } public static void main(String arg[]) { WaterMark wk=new WaterMark(); if(wk.createMark("D:\\1.jpg","Welcome!",Color.WHITE,70f,"")) { System.out.println("success"); } else { System.out.println("wrong!"); } } }