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,这种图片可以设置透明度、水印旋转等,可以参考代码加以...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和...基于opencv实现对图片明水印、暗水印、信息存储像素、傅里叶转换等源码.zip
在Java编程语言中,处理图片水印涉及到图像处理和图形绘制技术。`Graphics2D`是Java 2D API的一部分,它提供了丰富的功能,可以用来在图像上添加文本、图像等元素,实现水印效果。下面我们将深入探讨如何使用`...
图片水印是将另一张图片叠加到原始图像上。处理过程与文字水印类似,但需要额外考虑图片的缩放和定位: 1. 加载水印图片:同样使用Image类的FromFile方法加载水印图片。 2. 缩放水印图片:可能需要调整水印图片的...
不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->设置的内容,后面两个参数->文字在图片上的坐标位置(x,y...
首先,你需要加载原始图片和水印图片(或创建水印文字),然后在原始图片上绘制水印。以下是一个简单的水印图片示例: ```delphi uses Vcl.Imaging.jpeg, Vcl.Graphics; var OriginalImage, WatermarkImage: ...
QT给图片加水印是一种常见的图像处理操作,用于在图片上添加标识或版权信息,防止未经授权的使用。本文将深入探讨如何使用Qt框架实现这一功能,包括必要的编程知识和步骤。 首先,Qt是一个跨平台的应用程序开发框架...
总的来说,Java通过Apache POI和PDFBox等库,为开发者提供了强大的工具来操作Word和PDF文档,并生成图片水印。这不仅可以提高工作效率,也能有效地保护和标记文档内容。通过深入学习和实践,开发者可以掌握这些技能...
1. 自定义位置:用户可以根据需要选择水印在图片上的位置,如角落、中心、边缘等。 2. 调整透明度:控制水印的可见度,既可隐约可见,也可较为显眼。 3. 编辑水印内容:可以输入文字,也可以上传自定义图形作为水印...
主要实现对图片添加水印的功能,在图片上呈现出“水印.bmp”中的图像内容的水印,并可以进行水印位置放置,水印旋转,以及超出图片部分舍去。 Ps. 资源只有提供报告、源码和测试的可执行文件及图像,没有工程(即使...
在IT行业中,图片水印是一种常见的技术,用于保护版权或者增加视觉标识。Java作为一种多用途且功能强大的编程语言,提供了丰富的库和API来处理图像,包括添加水印。本篇文章将详细探讨如何使用Java实现图片水印的...
例如,通过setAlpha方法调整透明度,drawString或drawImage方法添加文字或图片水印,然后保存图片。 最后,**网站转图片** 是将整个网页内容捕获为单一的图像。这需要用到网页渲染技术,Java中可以通过第三方库如...
在这个主题中,我们将深入探讨如何在MVC和.NET Core环境下实现网页转PDF、PDF转图片、图片加水印、生成二维码以及创建缩略图等实用功能。 1. **网页转PDF** 在.NET Core中,可以使用第三方库如HtmlToPdfConverter...
首先,`ImageWatermark.java`可能是一个类,它代表了图片水印的主要实体。这个类可能包含了设置水印文本(包括中文字符)、位置、透明度和旋转角度的方法。在Java中,处理中文字符需要确保正确使用Unicode编码,并且...
添加图片水印通常涉及在原始图片上叠加另一张小图。JavaScript中,可以使用canvas元素来实现。首先,创建一个canvas,加载原始图片,然后加载水印图片。使用drawImage方法在canvas上绘制原图和水印,通过调整透明度...
这个压缩包文件包含的源码是用于在图片上添加图片水印和文字水印的功能,同时允许调整水印的透明度和偏移度。让我们详细探讨这些关键知识点。 1. **Java 图片处理**:Java提供了`java.awt.image`和`javax.imageio`...
综上所述,使用Delphi实现图片加水印的功能涉及图像加载、绘制、保存等多个步骤。通过理解Delphi的图形处理API和适当的第三方库,可以轻松实现这一功能,并扩展到支持更多图片格式。在实际项目中,还需要注意性能...
在图像处理领域,图片水印是一项常见的技术,用于在图片上添加标识或版权信息,以保护图片不被未经授权的使用。水印可以是文字或图片形式,通过设置透明度和宽度来达到既不影响图片主体展示,又能有效显示水印信息的...
在实际应用中,你可能还需要处理更多细节,比如根据图片的宽高比动态调整水印的位置和大小,或者支持图片水印,这需要对图像处理有更深入的理解。但以上代码已经足够作为基础,帮助你开始在Java中实现图片加水印的...
在网页上对图片添加水印,通常是为了防止图片被未经授权的用户盗用,或者为了在分享的图片上显示一些特定的信息,如日期、用户标识或公司Logo。 使用HTML2Canvas添加水印的过程分为以下几个步骤: 1. **引入库**:...