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

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);
}
}
本文介绍了一个用于在图片上添加文字或图像水印的实用工具类。该工具使用Java实现,能够灵活地调整水印的位置及大小,并支持常见的图片格式。
2万+

被折叠的 条评论
为什么被折叠?



