java给图片加水印,文字水印

本文介绍了一个用于在图片上添加文字或图像水印的实用工具类。该工具使用Java实现,能够灵活地调整水印的位置及大小,并支持常见的图片格式。
publicfinalclassImageUtils...{
publicImageUtils()...{

}


publicfinalstaticStringgetPressImgPath()...{
returnApplicationContext.getRealPath("/template/data/util/shuiyin.gif");
}


/***//**
*把图片印刷到图片上
*@parampressImg--水印文件
*@paramtargetImg--目标文件
*@paramx
*@paramy
*/

publicfinalstaticvoidpressImage(StringpressImg,StringtargetImg,intx,inty)...{
try...{
File_file=newFile(targetImg);
Imagesrc=ImageIO.read(_file);
intwideth=src.getWidth(null);
intheight=src.getHeight(null);
BufferedImageimage=newBufferedImage(wideth,height,
BufferedImage.TYPE_INT_RGB);
Graphicsg=image.createGraphics();
g.drawImage(src,0,0,wideth,height,null);

//水印文件
File_filebiao=newFile(pressImg);
Imagesrc_biao=ImageIO.read(_filebiao);
intwideth_biao=src_biao.getWidth(null);
intheight_biao=src_biao.getHeight(null);
g.drawImage(src_biao,wideth-wideth_biao-x,height-height_biao-y,wideth_biao,
height_biao,null);
///
g.dispose();
FileOutputStreamout=newFileOutputStream(targetImg);
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
catch(Exceptione)...{
e.printStackTrace();
}

}


/***//**
*打印文字水印图片
*@parampressText--文字
*@paramtargetImg--目标图片
*@paramfontName--字体名
*@paramfontStyle--字体样式
*@paramcolor--字体颜色
*@paramfontSize--字体大小
*@paramx--偏移量
*@paramy
*/


publicstaticvoidpressText(StringpressText,StringtargetImg,StringfontName,intfontStyle,intcolor,intfontSize,intx,inty)...{
try...{
File_file=newFile(targetImg);
Imagesrc=ImageIO.read(_file);
intwideth=src.getWidth(null);
intheight=src.getHeight(null);
BufferedImageimage=newBufferedImage(wideth,height,
BufferedImage.TYPE_INT_RGB);
Graphicsg=image.createGraphics();
g.drawImage(src,0,0,wideth,height,null);
//Strings="www.qhd.com.cn";
g.setColor(Color.RED);
g.setFont(newFont(fontName,fontStyle,fontSize));


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

}


publicstaticvoidmain(String[]args)...{
pressImage("C:/shuiyin/shuiyin.gif","c:/shuiyin/DSC02342.JPG",20,20);
}

}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值