大学IT网 - 最懂大学生的IT学习网站! QQ资料交流群:367606806
当前位置:大学IT网 > Java技巧 > Java图片添加水印

Java图片添加水印

关键词:Java水印Java图片添加水印  阅读(622) 赞(10)

[摘要]本文主要是对Java图片添加水印的讲解,希望对大家学习Java图片添加水印有所帮助。

  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);

  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.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("F:\\资料整理\\图片\\网上图片\\22f64410694967fcc3ce79bd.jpg","http://www.51dass.com",Color.RED,70f,"")){

  System.out.println("制作成功");

  }else{

  System.out.println("我失败了!");

  }

  }

  }



相关评论