JAVA给图片上添加水印文字

import  java.awt. * ;
import  java.awt.image. * ;
import  java.io. * ;
import  javax.swing. * ;
import  com.sun.image.codec.jpeg. * ;
import  java.text.AttributedString;
import  java.awt.font.TextAttribute;
import  java.text.AttributedCharacterIterator;


public   class  WaterMark  {
   
/**
      * 给图片添加水印
     * 
@param filePath 需要添加水印的图片的路径
     * 
@param markContent 水印的文字
     * 
@param markContentColor 水印文字的颜色
     * 
@param qualNum 图片质量
     * 
@param fontType 字体
     * 
@param fontsize 字体大小
     * 
@return
     * 
@author zhongweihai newwei2001@yahoo.com.cn
     
*/

    
public boolean createMark(String filePath,String markContent,Color markContentColor,float qualNum,
                              String fontType,
int fontSize)
    
{
        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);
        Graphics2D g
=bimage.createGraphics();
        g.setColor(markContentColor);
        g.setBackground(Color.white);
        g.drawImage(theImg, 
00null );
        AttributedString ats 
= new AttributedString(markContent);
        Font f 
= new Font(fontType,Font.BOLD, fontSize);

        ats.addAttribute(TextAttribute.FONT, f, 
0,markContent.length() );
        AttributedCharacterIterator iter 
= ats.getIterator();

        g.drawString(iter,width
/5,height/5); //添加水印的文字和设置水印文字出现的内容
        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[] args)
    
{
     WaterMark wm 
= new WaterMark();
     wm.createMark(
"c:/year2-11.jpg","此图片来自煞笔网",Color.red,70f,"黑体",23);
     }

}
 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值