JAVA图片水印效果代码

/**
  *
  * @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();  
        }  
    } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值