package com.page;
import java.io.File;
import java.io.FileOutputStream;
import javax.imageio.ImageIO;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
/**
* 图片水印
* waterMark.imgMark(原始文件路径, 水印文件路径);
* 透明水印,将水印图片设置为透明背景就可以了(png格式)
*/
public class WaterMark {
public void imgMark(String strOriginalFileName, String strWaterMarkFileName) {
try {
// 源文件
File fileOriginal = new File(strOriginalFileName);
Image imageOriginal = ImageIO.read(fileOriginal);
int widthOriginal = imageOriginal.getWidth(null);
int heightOriginal = imageOriginal.getHeight(null);
// System.out.println("widthOriginal:" + widthOriginal
// + "\theightOriginal:" + heightOriginal);
BufferedImage bufImage = new BufferedImage(widthOriginal,
heightOriginal, BufferedImage.TYPE_INT_RGB);
Graphics g = bufImage.createGraphics();
g.drawImage(imageOriginal, 0, 0, widthOriginal, heightOriginal,
null);
// 水印文件
File fileWaterMark = new File(strWaterMarkFileName);
Image imageWaterMark = ImageIO.read(fileWaterMark);
int widthWaterMark = imageWaterMark.getWidth(null);
int heightWaterMark = imageWaterMark.getHeight(null);
// System.out.println("widthWaterMark:" + widthWaterMark
// + "\theightWaterMark:" + heightWaterMark);
// 水印文件在源文件的右下角
g.drawImage(imageWaterMark, widthOriginal - widthWaterMark,
heightOriginal - heightWaterMark, widthWaterMark,
heightWaterMark, null);
g.dispose();
FileOutputStream fos = new FileOutputStream(strOriginalFileName);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(fos);
encoder.encode(bufImage);
fos.flush();
fos.close();
fos = null;
} catch (Exception e) {
e.printStackTrace();
System.out.println("++WaterMark-Build the watermark fail.");
}
}
// 测试
public static void main(String[] args) {
WaterMark waterMark = new WaterMark();
waterMark.imgMark("d:/t3.jpg", "d:/watermark.png");
}
}
以上代码来自网络
分享到:
相关推荐
在Java编程中,添加水印是一项常见的图像处理任务,它涉及到图像处理库的使用和算法设计。本知识点主要探讨如何在Java中实现自适应图片大小的水印功能,以及遇到图片过小时的处理策略。 首先,我们需要理解水印的...
"java水印功能通用类"是一个专门为实现这一目的而设计的代码库,它提供了一种方便、可复用的方式来为各种类型的数据添加水印。下面我们将深入探讨Java水印功能的相关知识点,以及如何使用此类库进行实际操作。 1. *...
aspose.cells-24.2 for java 去水印 jar 学习使用!!!学习使用!!!学习使用!!!aspose.cells-24.2 for java 去水印 jar 学习使用!!!学习使用!!!学习使用!!!aspose.cells-24.2 for java 去水印 jar ...
在Java开发中,创建带有水印的图片是一项常见的任务,特别是在图像处理或版权保护的应用场景中。水印可以是文字、图像或者logo,用于表明图片的归属或进行版权声明。在Java中实现这一功能,我们需要涉及到图形处理和...
"shuiyin.rar_java水印"这个压缩包文件显然包含了关于如何在Java环境中实现图像水印的代码或教程。Java水印技术允许我们在图像上添加不可见或可见的标识,以证明所有权、保护版权或者追踪非法复制。下面我们将详细...
Java水印测试工具是一种用于在图像上添加水印的实用程序,主要应用于软件测试和版权保护。这个工具可能由Java编程语言编写,因此其可移植性强,能在多种操作系统上运行,如Windows、Linux和Mac OS。`java -jar`命令...
"abc.rar_java 水印_watermark java_图像处理_图像识别java"这个标题揭示了我们将讨论的是一个关于Java实现的水印添加功能,同时可能涉及到图像处理和识别的组件。下面将详细阐述这些概念。 1. **Java图像处理**:...
1. **Java水印**:在图像上添加水印是保护版权和增加品牌识别度的一种常见方法。在Java中,可以使用Java Advanced Imaging (JAI)库或者Apache Commons Imaging库来实现。水印可以是文字、图像或图形,通常位于图片的...
Java作为一种多用途且功能强大的编程语言,提供了丰富的库和API来处理图像,包括添加水印。本篇文章将详细探讨如何使用Java实现图片水印的添加,以及相关的知识点。 首先,我们需要了解Java中的图像处理库。Java...
在Java编程语言中,添加水印到图片以及生成条形码是常见的图像处理任务,尤其在数字版权保护、产品标记和文档安全等方面有着广泛应用。在这个主题下,我们将深入探讨如何在Java中实现这两个功能。 首先,让我们关注...
Java水印应用程序是一个简单的项目。整个系统是在Sublime Text编辑器中制作的。该系统没有数据库支持,但支持所有必要的功能。 系统简介 这个Java水印应用程序易于理解和操作。系统的目的是为你的照片添加水印。...
在Java编程语言中,添加水印是一项常见的任务,特别是在处理图像时。水印可以用于版权保护、品牌标识或提供额外信息。以下是一个关于如何在Java中实现水印功能的详细解释。 首先,我们需要引入处理图像的库。Java...
在Java编程语言中,处理图片水印涉及到图像处理和图形绘制技术。`Graphics2D`是Java 2D API的一部分,它提供了丰富的功能,可以用来在图像上添加文本、图像等元素,实现水印效果。下面我们将深入探讨如何使用`...
在Java编程领域,图片处理是一项常见的任务,包括添加水印、改变图片大小等。这里我们将深入探讨这些知识点,以及如何在Struts2框架下实现它们。 首先,让我们了解"图片水印"。水印通常用于保护版权或者为图片增加...
然而,免费版本的Aspose for Java通常会带有水印,并且对处理文件的数量有限制,这可能对商业应用造成不便。 在Aspose for Java中去除水印通常涉及对文档内容的直接操作。水印通常以图形或文本的形式嵌入到文档的...
Java 图片水印技术主要涉及图像处理和图形绘制,用于在源图像上添加标识或文本,以保护版权或增加视觉效果。以下是对给定代码的详细解释和扩展: 1. **导入的包**: - `java.awt`: 包含基本的图形、颜色和字体处理...
PDF文件JAVA去水印源码Muhimbi PDF Converter 在线服务 关于 这是一项基于 REST 的服务,可以轻松地将文档转换、合并、水印、保护和光学字符识别 (OCR) 添加到大多数编程语言、操作系统和开发平台。 此服务也可作为...
在IT行业中,Java水印通常指的是在处理图像或者文档时,使用Java编程语言来添加一种半透明或不显眼的标记,用以保护版权、标识信息或者防止未经许可的复制。这种技术广泛应用在数字媒体、设计、教育以及企业文档管理...
aspose-cells-8.5.0-java版,随手修改了License文件,去掉了导出图片的水印。仅供个人学习使用,不要用于商业版本。
以上就是一个简单的Java水印添加过程。为了使水印更加灵活,你可以考虑添加参数来控制水印的位置、大小、角度、透明度等。此外,还可以扩展这个功能,使其支持不同类型的文件格式,如PNG、JPEG、GIF等。 在实际应用...