# watermark4J **Repository Path**: java-lab/watermark4-j ## Basic Information - **Project Name**: watermark4J - **Description**: 🚀基于 Java 的图片水印工具 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: https://gitee.com/PyCVer - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 1 - **Created**: 2023-08-05 - **Last Updated**: 2025-02-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: 图片水印, Java, 图像处理, 水印 ## README

Simple Icons

基于 Java 的图片水印工具

code check Releases Version License

## 🚀 作者简介 曾逸夫,从事人工智能研究与开发;主研领域:计算机视觉;[YOLOv8官方开源项目代码贡献人](https://github.com/ultralytics/ultralytics/graphs/contributors);[YOLOv5官方开源项目代码贡献人](https://github.com/ultralytics/yolov5/graphs/contributors) ❤️ Github:https://github.com/Zengyf-CVer

🚀更新走势

- `2023-09-29` **⚡ [watermark4J v0.2.3](https://gitee.com/java-lab/watermark4-j/releases/tag/v0.2.3)正式上线** - `2023-08-16` **⚡ [watermark4J v0.2.2](https://gitee.com/java-lab/watermark4-j/releases/tag/v0.2.2)正式上线** - `2023-08-15` **⚡ [watermark4J v0.2](https://gitee.com/java-lab/watermark4-j/releases/tag/v0.2)正式上线** - `2023-08-06` **⚡ [watermark4J v0.1](https://gitee.com/java-lab/watermark4-j/releases/tag/v0.1)正式上线** ### 📌 项目整体流程
### 📌 项目示例

💡项目结构

``` . ├── watermark4-j # 项目名称 │ ├── watermark4j_mvn # maven项目 │ ├── watermark4j # 项目 │ │ ├── src # 源文件 │ │ │ ├── imgs # 图片 │ │ │ ├── utils # 工具类 │ │ │ │ ├── Watermark.java # 水印文件 │ │ │ ├── MainText.java # 文字水印主函数 │ │ │ ├── MainImg.java # 图片水印主函数 │ │ │ └── MainBatch.java # 批量水印主函数 │ │ └── .gitignore # gitignore文件 │ └── README.md # 项目说明 ```

🔥安装教程

#### 💡 安装JDK11 #### 💡 安装IDEA #### 💡 创建Maven项目 ❤️如果采用`Maven`架构,请使用`watermark4j_mvn` #### 💡 支持图片格式 ``` jpg jpeg png tif(遥感图片格式) ```

⚡使用教程

#### 💡 文字水印模式 运行`watermark4j:MainText.java`文件: ```java import java.io.IOException; import utils.Watermark; /* 项目:watermark4J v0.2.3 创建人:曾逸夫 创建时间:2023年9月29日 */ public class MainText { public static void main(String[] args) throws IOException { // --------------- 文字水印 --------------- String imgPath = "src\\imgs\\Millenial-at-work.jpg"; // 原图片 String imgWMSavePath = "src\\imgs\\wm_text_imgs.png"; // 水印图片 String watermarkContent = "这是一个水印"; // 文字水印内容 String WMLoadMode = "local"; // 水印图片加载模式:local or url // String WMLoadMode = "https://gitee.com/CV_Lab/gradio-yolov8-det/raw/master/img_examples/Millenial-at-work.jpg"; String WMDistMode = "tiling"; // 水印分布模式:tiling or single int degree = 45; // 水印角度:0 or other degree double delta = 1.0; // 水印稀疏因子1.0-2.0 // 加水印. Watermark.addWatermark(imgPath, imgWMSavePath, watermarkContent, WMLoadMode, WMDistMode, degree, delta); } } ``` #### 示例结果图
#### 💡 图片水印模式 运行`watermark4j:MainImg.java`文件: ```java import java.io.IOException; import utils.Watermark; /* 项目:watermark4J v0.2.3 创建人:曾逸夫 创建时间:2023年9月29日 */ public class MainImg { public static void main(String[] args) throws IOException { // --------------- 文字水印 --------------- String imgPath = "src\\imgs\\Millenial-at-work.jpg"; // 原图片 String imgWMSavePath = "src\\imgs\\wm_img_imgs.png"; // 水印图片 String watermarkImgContent = "src\\imgs\\watermark_test_img.png"; // 图片水印 String WMLoadMode = "local"; // 水印图片加载模式:local or url String WMDistMode = "tiling"; // 水印分布模式:tiling or single int degree = 45; // 水印角度:0 or other degree // 加水印 Watermark.addImgTypeWatermark(imgPath, imgWMSavePath, watermarkImgContent, WMLoadMode, WMDistMode, degree); } } ``` #### 示例结果图
#### 💡 批量水印模式 运行`watermark4j:MainBatch.java`文件: ```java import utils.Watermark; import java.io.IOException; /* 项目:watermark4J v0.2.3 创建人:曾逸夫 创建时间:2023年9月29日 */ public class MainTextBatch { public static void main(String[] args) throws IOException { // --------------- 文字水印 --------------- String batchMode = "text"; // text or img String imgPath = "D:\\samples"; // 原图片输入路径 String imgWMSavePath = "D:\\samples\\out"; // 水印图片输出路径 String watermarkContent = "这是一个水印"; // 文字水印内容 String watermarkImgContent = "src\\imgs\\watermark_test_img.png"; // 图片水印 String WMLoadMode = "local"; // 水印图片加载模式:local or url String WMDistMode = "tiling"; // 水印分布模式:tiling or single int degree = 45; // 水印角度:0 or other degree double delta = 1.0; // 水印稀疏因子1.0-2.0 // 加水印 Watermark.addBatchWatermark(batchMode, imgPath, imgWMSavePath, watermarkContent, WMLoadMode, WMDistMode, degree, delta); } } ``` #### 💡水印稀疏因子 🔥 调节水印稀疏因子数值,可以改变平铺状态下,水印分布的稀疏程度。具体效果如下图所示。(点击图片,可查看大图) | 稀疏因子 | 效果图 | | :-----------: | :----------------------------------------------------------: | | **delta-1.0** | | | **delta-1.2** | | | **delta-1.5** | | | **delta-1.8** | | | **delta-2.0** | |