JAVA图片水印效果代码

来源:互联网 发布:java和嵌入式 编辑:程序博客网 时间:2024/05/16 14:30

/**
  *
  * @param pressText 文字
  * @param targetImg 目标图片
  * @param fontName 字体
  * @param fontStyle 字体样式
  * @param color 颜色
  * @param fontSize 字体大小
  * @param x 偏移量
  * @param y 偏移量
  */
 public static void pressText(String pressText, String targetImg,
   String fontName, int fontStyle, int color, int fontSize, int x,
   int y) {
  try {
   File _file = new File(targetImg);
   Image src = ImageIO.read(_file);
   int wideth = src.getWidth(null);
   int height = src.getHeight(null);
   BufferedImage image = new BufferedImage(wideth, height,
     BufferedImage.TYPE_INT_RGB);
   Graphics g = image.createGraphics();
   g.drawImage(src, 0, 0, wideth, height, null);
   // String s="www.qhd.com.cn";
   g.setColor(Color.RED);
   g.setFont(new Font(fontName, fontStyle, fontSize));

   g.drawString(pressText, wideth - fontSize - x, height - fontSize
     / 2 - y);
   g.dispose();
   FileOutputStream out = new FileOutputStream(targetImg);
   
   JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
   encoder.encode(image);
   out.close();
  } catch (Exception e) {
   System.out.println(e);
  }
 }

/** 
    * 把图片印刷到图片上 
    *  
    * @param pressImg -- 
    *            水印文件 
    * @param targetImg -- 
    *            目标文件 
    * @param x 
   * @param y 
     */ 
    public final static void pressImage(String pressImg, String targetImg,  
            int x, int y) {  
        try {  
            File _file = new File(targetImg);  
            Image src = ImageIO.read(_file);  
            int wideth = src.getWidth(null);  
            int height = src.getHeight(null);  
            BufferedImage image = new BufferedImage(wideth, height,  
                    BufferedImage.TYPE_INT_RGB);  
            Graphics g = image.createGraphics();  
            g.drawImage(src, 0, 0, wideth, height, null);  
 
            // 水印文件  
            File _filebiao = new File(pressImg);  
            Image src_biao = ImageIO.read(_filebiao);  
            int wideth_biao = src_biao.getWidth(null);  
            int height_biao = src_biao.getHeight(null);  
            g.drawImage(src_biao, wideth - wideth_biao - x, height  
                    - height_biao - y, wideth_biao, height_biao, null);  
            // /  
            g.dispose();  
            FileOutputStream out = new FileOutputStream(targetImg);  
            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);  
            encoder.encode(image);  
            out.close();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    } 

原创粉丝点击