public class Helloworld
{
/**
* 给图片添加水印
*
* @param filePath 需要添加水印的图片的路径
* @param markContent 水印的文字
* @param markContentColor 水印文字的颜色
* @param qualNum 图片质量
* @return
*/
public void mark(String srcImgPath, String outImgPath, String watermarkStr)
{
try
{
// 读取原图片信息
File srcImgFile = new File(srcImgPath);
Image srcImg = ImageIO.read(srcImgFile);
int srcImgWidth = srcImg.getWidth(null);
int srcImgHeight = srcImg.getHeight(null);
// 加水印
BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g = bufImg.createGraphics();
g.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null);
Font font = new Font("宋体", Font.PLAIN, 100);
g.setColor(Color.RED); // 根据图片的背景设置水印颜色
g.setFont(font);
int x = (srcImgWidth - getWatermarkLength(watermarkStr, g)) / 2;
int y = srcImgHeight / 2;
g.drawString(watermarkStr, x, y);
g.dispose();
// 输出图片
FileOutputStream outImgStream = new FileOutputStream(outImgPath);
ImageIO.write(bufImg, "jpg", outImgStream);
outImgStream.flush();
outImgStream.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
// 获取水印文字总长度
public int getWatermarkLength(String str, Graphics2D g)
{
return g.getFontMetrics(g.getFont()).charsWidth(str.toCharArray(), 0, str.length());
}
public static void main(String[] args)
{ // 原图位置, 输出图片位置, 水印文字
new Helloworld().mark("C:\\Documents and Settings\\yanwj06282\\桌面\\饭盒.jpg", "C:\\Documents and Settings\\yanwj06282\\桌面\\饭盒.jpg", "不吃饭,切JJ!!");
}
}
分享到:
相关推荐
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码加以...
不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->设置的内容,后面两个参数->文字在图片上的坐标位置(x,y...
mvc、.net core 下 网页转pdf、pdf转图片、图片加水印、生成二维码、缩略图
主要实现对图片添加水印的功能,在图片上呈现出“水印.bmp”中的图像内容的水印,并可以进行水印位置放置,水印旋转,以及超出图片部分舍去。 Ps. 资源只有提供报告、源码和测试的可执行文件及图像,没有工程(即使...
Java图片加水印,支持旋转和透明度设置.rar
4.文字水印和图片水印,支持水印任意位置和角度旋转,水印的不透明度; 5.文字水印支持阴影、不透明度、阴影深度; 6.生成的所有图片都可以自定义存放路径; 7.自定义文字水印颜色和阴影颜色、文字大小、文字样式、...
图片添加水印 支持中文 支持透明图片 支持重复 支持旋转
之前那个转图片第一章图片有水印,用这个jar包解决水印问题
基于java的开发源码-图片加水印,支持旋转和透明度设置.zip 基于java的开发源码-图片加水印,支持旋转和透明度设置.zip 基于java的开发源码-图片加水印,支持旋转和透明度设置.zip 基于java的开发源码-图片加水印,...
软件界面直观简单,无需任何学习,打开就可以快速上手使用,添加肉眼看不见的水印,遇到版权问题时就可以通过这个水印来保护自身作品的版权,两种水印供大家选择,选择图片水印或者是文字水印,可以旋转角度,提取...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和...基于opencv实现对图片明水印、暗水印、信息存储像素、傅里叶转换等源码.zip
图片水印,设置透明度,宽度。水印文字和图片
Delphi 实现图片与Base64编码相互转化和给图片添加水印图片和水印文字Demo
1.字符串转为图片显示 2.图片加水印操作 3.根据网页地址,给网站下载保存为图片
IText5 Excel转pdf ,带有添加文字水印,图片水印实例。 文件中含有依赖的jar,代码,下载后你直接可以用了,花了2天时间整理完成。 共3个方法,一个是生成pdf,第2个是加文字水印,第3个是加图片水印 public static...
现在我们想要往图片上打上水印,该水印应符合这样的需求的: 1. 支持logo+文字; 2. 文字信息支持多行展示; 3. 用户可以选择水印在图片上的生成位置(左上、右上、右下和左下)。 现在提供这样的一种思路去实现这一...
图片批量转换器 Ver.1.0 批量转换图片大小/批量添加水印! 注意:本程序只能转换图片目录下的jpg,gif,bmp格式图片,其他均不支持。
其所支持图片格式有JPG、PNG、TIFF、GIF、RAW、JPEG、WebP、OpenEXR等等。你可以轻松的实现图像格式的转换、缩放图像比例、添加滤镜特效、水印等等。 大小调整,可以通过选择按照长边、短边等进行调整,为了避免失真...