Java实现在图片上添加水印图片和水印文字
2009-08-09 00:11
1146 查看
public static void main(String[] args)
{
createMark("e://image//a.gif","e://image//b.jpg");
}
/**
* 在图片上添加水印图片和文字
* @param filePath 原图片文件路径
* @param watermark 水印图片文件路径
* @return 添加成功返回true,否则返回false
*/
public static boolean createMark(String filePath, String watermark)
{
//读取原图片
ImageIcon imgIcon = new ImageIcon(filePath);
Image theImg = imgIcon.getImage();
//读取标签图片
ImageIcon waterIcon = new ImageIcon(watermark);
Image waterImg = waterIcon.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();
//设置字体
Font font = new Font("SansSerif",Font.BOLD,30);
g.setFont(font);
//设置前景色
g.setColor(Color.red);
//设置背景色
g.setBackground(Color.white);
//画原图
g.drawImage(theImg, 0, 0, null);
//画水印图
g.drawImage(waterImg, 100, 100, null);
//画字
g.drawString("中国人民共和国", 10, 10);
g.dispose();
FileOutputStream out = null;
try {
out = new FileOutputStream(filePath);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
param.setQuality(50f, true);
encoder.encode(bimage, param);
}
catch (Exception e)
{
return false;
}
finally
{
if(out!=null)
{
try
{
out.close();
out = null;
}
catch(Exception e)
{}
}
}
return true;
}
{
createMark("e://image//a.gif","e://image//b.jpg");
}
/**
* 在图片上添加水印图片和文字
* @param filePath 原图片文件路径
* @param watermark 水印图片文件路径
* @return 添加成功返回true,否则返回false
*/
public static boolean createMark(String filePath, String watermark)
{
//读取原图片
ImageIcon imgIcon = new ImageIcon(filePath);
Image theImg = imgIcon.getImage();
//读取标签图片
ImageIcon waterIcon = new ImageIcon(watermark);
Image waterImg = waterIcon.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();
//设置字体
Font font = new Font("SansSerif",Font.BOLD,30);
g.setFont(font);
//设置前景色
g.setColor(Color.red);
//设置背景色
g.setBackground(Color.white);
//画原图
g.drawImage(theImg, 0, 0, null);
//画水印图
g.drawImage(waterImg, 100, 100, null);
//画字
g.drawString("中国人民共和国", 10, 10);
g.dispose();
FileOutputStream out = null;
try {
out = new FileOutputStream(filePath);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
param.setQuality(50f, true);
encoder.encode(bimage, param);
}
catch (Exception e)
{
return false;
}
finally
{
if(out!=null)
{
try
{
out.close();
out = null;
}
catch(Exception e)
{}
}
}
return true;
}
相关文章推荐
- 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
- JAVA实现图片的修改,添加文字水印效果
- javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作
- 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
- 用Java实现在图片上添加水印图片和水印文字
- 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
- java实现给图片添加水印和文字
- javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作
- java实现给图片添加水印和文字
- java实现给图片添加水印和文字
- 用java实现给图片增加图片水印或者文字水印(也支持视频图像帧添加水印)
- Java实现给图片添加图片水印,文字水印及马赛克的方法示例
- java实现给图片添加水印和文字
- 用Java实现给图片添加文字水印
- javacpp-opencv图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制,文字和图片双水印
- Java代码实现给图片添加文字水印 详细教程一
- javacpp-opencv图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制,文字和图片双水印
- java给图片添加文字水印并消除锯齿
- JAVA编写的图片水印添加(文字水印、图片水印)
- Java实现给图片添加水印