Java 图片添加文字或者logo水印(附代码) | Java工具类
Posted 剑客阿良_ALiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 图片添加文字或者logo水印(附代码) | Java工具类相关的知识,希望对你有一定的参考价值。
目录
前言
本文提供java工具类,给图片添加文字或者logo图片的水印效果。
环境依赖
工具库maven依赖添加
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1.1-jre</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.5.2</version>
</dependency>
ffmpeg安装,可以参考我的另一篇文章:windows ffmpeg安装部署_阿良的博客-CSDN博客
代码
上代码。
package ai.guiji.csdn.tools;
import cn.hutool.core.util.IdUtil;
import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import java.io.File;
import java.text.MessageFormat;
import java.util.Arrays;
import java.util.List;
/** @Author 剑客阿良_ALiang @Date 2021/11/20 19:30 @Description: 图片加水印工具类 */
public class ImageAddWatermarkUtil
/**
* 图片添加文字水印
*
* @param imagePath 图片地址
* @param outputDir 输出目录
* @param text 水印文本
* @param fontName 字体名
* @param fontSize 字体大小
* @param position 文字位置,x:y 例如100:100
* @param fontColor 文字颜色
* @param enableBox 是否带背景
* @param boxColor 背景颜色
* @return 结果图片
* @throws Exception
*/
public static String addText(
String imagePath,
String outputDir,
String text,
String fontName,
Integer fontSize,
String position,
String fontColor,
Boolean enableBox,
String boxColor)
throws Exception
List<String> paths = Splitter.on(".").splitToList(imagePath);
String ext = paths.get(paths.size() - 1);
if (!Arrays.asList("png", "jpg").contains(ext))
throw new Exception("format error");
String resultPath =
Joiner.on(File.separator).join(Arrays.asList(outputDir, IdUtil.simpleUUID() + "." + ext));
ProcessBuilder builder =
new ProcessBuilder(
"C:\\\\ffpg\\\\bin\\\\ffmpeg.exe",
"-i",
imagePath,
"-vf",
MessageFormat.format(
"drawtext=\\"fontsize=0:fontfile=1:text=2:x=3:y=4:fontcolor=5:box=6:boxcolor=7\\"",
fontSize,
fontName,
text,
Splitter.on(":").splitToList(position).get(0),
Splitter.on(":").splitToList(position).get(1),
fontColor,
enableBox ? 1 : 0,
boxColor),
"-y",
resultPath);
builder.inheritIO().start().waitFor();
return resultPath;
/**
* 图片添加图片水印
*
* @param imagePath 图片地址
* @param outputDir 输出目录
* @param logoPath logo地址
* @param position 文字位置,x:y 例如100:100
* @return 结果图片
* @throws Exception
*/
public static String addLogo(String imagePath, String outputDir, String logoPath, String position)
throws Exception
List<String> paths = Splitter.on(".").splitToList(imagePath);
String ext = paths.get(paths.size() - 1);
if (!Arrays.asList("png", "jpg").contains(ext))
throw new Exception("format error");
String resultPath =
Joiner.on(File.separator).join(Arrays.asList(outputDir, IdUtil.simpleUUID() + "." + ext));
ProcessBuilder builder =
new ProcessBuilder(
"C:\\\\ffpg\\\\bin\\\\ffmpeg.exe",
"-i",
imagePath,
"-vf",
MessageFormat.format(
"movie=0[wm];[in][wm]overlay=1:2[out]",
logoPath,
Splitter.on(":").splitToList(position).get(0),
Splitter.on(":").splitToList(position).get(1)),
"-y",
resultPath);
builder.inheritIO().start().waitFor();
return resultPath;
代码说明
1、addText方法给图片添加文字水印方法,主要参数为:图片路径、输出目录、
水印文字、字体名称、字体大小、文字左上角坐标、文字颜色、是否需要背景、背景色。
2、addLogo方法给图片添加logo,主要参数为:图片路径、输出目录、logo图片地址、文字左上角坐标。
3、注意logo地址如果有类似C:/这种windows盘的路径情况,需要对":"进行转义。后面验证的时候,可以看看我给的参数。
4、文件名为了避免重复,采用了uuid作为文件名。
5、图片后缀格式校验只有两种,按需添加即可。
6、其中ffmpeg的exe文件地址,按照你按照的ffmpeg的路径替换。
验证一下
准备的图片如下,分别为原始图与logo图片。
验证代码
public static void main(String[] args) throws Exception
System.out.println(
addText(
"C:\\\\Users\\\\huyi\\\\Desktop\\\\2.jpg",
"C:\\\\Users\\\\huyi\\\\Desktop",
"剑客阿良_ALiang",
"微软雅黑",
100,
"100:100",
"blue",
true,
"white"));
System.out.println(
addLogo(
"C:\\\\Users\\\\huyi\\\\Desktop\\\\2.jpg",
"C:\\\\Users\\\\huyi\\\\Desktop",
"'C\\\\:/Users/huyi/Desktop/logo.png'",
"100:100"));
注意给出的logo图路径,需要转义。
执行结果
"C:\\Program Files\\Java\\jdk1.8.0_161\\bin\\java.exe" "-javaagent:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2020.1.3\\lib\\idea_rt.jar=3490:C:\\Program Files\\JetBrains\\IntelliJ IDEA 2020.1.3\\bin" -Dfile.encoding=UTF-8 -classpath "C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\charsets.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\deploy.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\access-bridge-64.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\cldrdata.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\dnsns.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\jaccess.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\jfxrt.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\localedata.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\nashorn.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\sunec.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\sunjce_provider.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\sunmscapi.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\sunpkcs11.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\ext\\zipfs.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\javaws.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\jce.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\jfr.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\jfxswt.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\jsse.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\management-agent.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\plugin.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\resources.jar;C:\\Program Files\\Java\\jdk1.8.0_161\\jre\\lib\\rt.jar;D:\\JavaProject\\csdn\\target\\classes;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-web\\2.5.5\\spring-boot-starter-web-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter\\2.5.5\\spring-boot-starter-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-logging\\2.5.5\\spring-boot-starter-logging-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\ch\\qos\\logback\\logback-classic\\1.2.6\\logback-classic-1.2.6.jar;C:\\Users\\huyi\\.m2\\repository\\ch\\qos\\logback\\logback-core\\1.2.6\\logback-core-1.2.6.jar;C:\\Users\\huyi\\.m2\\repository\\org\\apache\\logging\\log4j\\log4j-to-slf4j\\2.14.1\\log4j-to-slf4j-2.14.1.jar;C:\\Users\\huyi\\.m2\\repository\\org\\apache\\logging\\log4j\\log4j-api\\2.14.1\\log4j-api-2.14.1.jar;C:\\Users\\huyi\\.m2\\repository\\org\\slf4j\\jul-to-slf4j\\1.7.32\\jul-to-slf4j-1.7.32.jar;C:\\Users\\huyi\\.m2\\repository\\jakarta\\annotation\\jakarta.annotation-api\\1.3.5\\jakarta.annotation-api-1.3.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\yaml\\snakeyaml\\1.28\\snakeyaml-1.28.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-json\\2.5.5\\spring-boot-starter-json-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-databind\\2.12.5\\jackson-databind-2.12.5.jar;C:\\Users\\huyi\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-annotations\\2.12.5\\jackson-annotations-2.12.5.jar;C:\\Users\\huyi\\.m2\\repository\\com\\fasterxml\\jackson\\core\\jackson-core\\2.12.5\\jackson-core-2.12.5.jar;C:\\Users\\huyi\\.m2\\repository\\com\\fasterxml\\jackson\\datatype\\jackson-datatype-jdk8\\2.12.5\\jackson-datatype-jdk8-2.12.5.jar;C:\\Users\\huyi\\.m2\\repository\\com\\fasterxml\\jackson\\datatype\\jackson-datatype-jsr310\\2.12.5\\jackson-datatype-jsr310-2.12.5.jar;C:\\Users\\huyi\\.m2\\repository\\com\\fasterxml\\jackson\\module\\jackson-module-parameter-names\\2.12.5\\jackson-module-parameter-names-2.12.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-starter-tomcat\\2.5.5\\spring-boot-starter-tomcat-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-core\\9.0.53\\tomcat-embed-core-9.0.53.jar;C:\\Users\\huyi\\.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-el\\9.0.53\\tomcat-embed-el-9.0.53.jar;C:\\Users\\huyi\\.m2\\repository\\org\\apache\\tomcat\\embed\\tomcat-embed-websocket\\9.0.53\\tomcat-embed-websocket-9.0.53.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\spring-web\\5.3.10\\spring-web-5.3.10.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\spring-beans\\5.3.10\\spring-beans-5.3.10.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\spring-webmvc\\5.3.10\\spring-webmvc-5.3.10.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\spring-aop\\5.3.10\\spring-aop-5.3.10.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\spring-context\\5.3.10\\spring-context-5.3.10.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\spring-expression\\5.3.10\\spring-expression-5.3.10.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-devtools\\2.5.5\\spring-boot-devtools-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot\\2.5.5\\spring-boot-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-autoconfigure\\2.5.5\\spring-boot-autoconfigure-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\boot\\spring-boot-configuration-processor\\2.5.5\\spring-boot-configuration-processor-2.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\projectlombok\\lombok\\1.18.20\\lombok-1.18.20.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\spring-core\\5.3.10\\spring-core-5.3.10.jar;C:\\Users\\huyi\\.m2\\repository\\org\\springframework\\spring-jcl\\5.3.10\\spring-jcl-5.3.10.jar;C:\\Users\\huyi\\.m2\\repository\\org\\jaudiotagger\\2.0.1\\jaudiotagger-2.0.1.jar;C:\\Users\\huyi\\.m2\\repository\\com\\google\\guava\\guava\\30.1.1-jre\\guava-30.1.1-jre.jar;C:\\Users\\huyi\\.m2\\repository\\com\\google\\guava\\failureaccess\\1.0.1\\failureaccess-1.0.1.jar;C:\\Users\\huyi\\.m2\\repository\\com\\google\\guava\\listenablefuture\\9999.0-empty-to-avoid-conflict-with-guava\\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\\Users\\huyi\\.m2\\repository\\com\\google\\code\\findbugs\\jsr305\\3.0.2\\jsr305-3.0.2.jar;C:\\Users\\huyi\\.m2\\repository\\org\\checkerframework\\checker-qual\\3.8.0\\checker-qual-3.8.0.jar;C:\\Users\\huyi\\.m2\\repository\\com\\google\\errorprone\\error_prone_annotations\\2.5.1\\error_prone_annotations-2.5.1.jar;C:\\Users\\huyi\\.m2\\repository\\com\\google\\j2objc\\j2objc-annotations\\1.3\\j2objc-annotations-1.3.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacv-platform\\1.5.5\\javacv-platform-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacv\\1.5.5\\javacv-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flycapture\\2.13.3.31-1.5.5\\flycapture-2.13.3.31-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect2\\0.2.0-1.5.5\\libfreenect2-0.2.0-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense\\1.12.4-1.5.5\\librealsense-1.12.4-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2\\2.40.0-1.5.5\\librealsense2-2.40.0-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\videoinput\\0.200-1.5.5\\videoinput-0.200-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\openjfx\\javafx-graphics\\11\\javafx-graphics-11.jar;C:\\Users\\huyi\\.m2\\repository\\org\\openjfx\\javafx-graphics\\11\\javafx-graphics-11-win.jar;C:\\Users\\huyi\\.m2\\repository\\org\\openjfx\\javafx-base\\11\\javafx-base-11.jar;C:\\Users\\huyi\\.m2\\repository\\org\\openjfx\\javafx-base\\11\\javafx-base-11-win.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas-platform\\0.3.13-1.5.5\\openblas-platform-0.3.13-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp-platform\\1.5.5\\javacpp-platform-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-android-arm.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-android-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-android-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-android-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-ios-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-ios-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-macosx-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\javacpp\\1.5.5\\javacpp-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-android-arm.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-android-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-android-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-android-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-ios-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-ios-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\openblas\\0.3.13-1.5.5\\openblas-0.3.13-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv-platform\\4.5.1-1.5.5\\opencv-platform-4.5.1-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-android-arm.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-android-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-android-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-android-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-ios-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-ios-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\opencv\\4.5.1-1.5.5\\opencv-4.5.1-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg-platform\\4.3.2-1.5.5\\ffmpeg-platform-4.3.2-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-android-arm.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-android-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-android-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-android-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\ffmpeg\\4.3.2-1.5.5\\ffmpeg-4.3.2-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flycapture-platform\\2.13.3.31-1.5.5\\flycapture-platform-2.13.3.31-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flycapture\\2.13.3.31-1.5.5\\flycapture-2.13.3.31-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flycapture\\2.13.3.31-1.5.5\\flycapture-2.13.3.31-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flycapture\\2.13.3.31-1.5.5\\flycapture-2.13.3.31-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flycapture\\2.13.3.31-1.5.5\\flycapture-2.13.3.31-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flycapture\\2.13.3.31-1.5.5\\flycapture-2.13.3.31-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flycapture\\2.13.3.31-1.5.5\\flycapture-2.13.3.31-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394-platform\\2.2.6-1.5.5\\libdc1394-platform-2.2.6-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libdc1394\\2.2.6-1.5.5\\libdc1394-2.2.6-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect-platform\\0.5.7-1.5.5\\libfreenect-platform-0.5.7-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect\\0.5.7-1.5.5\\libfreenect-0.5.7-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect2-platform\\0.2.0-1.5.5\\libfreenect2-platform-0.2.0-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect2\\0.2.0-1.5.5\\libfreenect2-0.2.0-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect2\\0.2.0-1.5.5\\libfreenect2-0.2.0-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect2\\0.2.0-1.5.5\\libfreenect2-0.2.0-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\libfreenect2\\0.2.0-1.5.5\\libfreenect2-0.2.0-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense-platform\\1.12.4-1.5.5\\librealsense-platform-1.12.4-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense\\1.12.4-1.5.5\\librealsense-1.12.4-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense\\1.12.4-1.5.5\\librealsense-1.12.4-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense\\1.12.4-1.5.5\\librealsense-1.12.4-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense\\1.12.4-1.5.5\\librealsense-1.12.4-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense\\1.12.4-1.5.5\\librealsense-1.12.4-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense\\1.12.4-1.5.5\\librealsense-1.12.4-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense\\1.12.4-1.5.5\\librealsense-1.12.4-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2-platform\\2.40.0-1.5.5\\librealsense2-platform-2.40.0-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2\\2.40.0-1.5.5\\librealsense2-2.40.0-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2\\2.40.0-1.5.5\\librealsense2-2.40.0-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2\\2.40.0-1.5.5\\librealsense2-2.40.0-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2\\2.40.0-1.5.5\\librealsense2-2.40.0-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2\\2.40.0-1.5.5\\librealsense2-2.40.0-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2\\2.40.0-1.5.5\\librealsense2-2.40.0-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\librealsense2\\2.40.0-1.5.5\\librealsense2-2.40.0-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\videoinput-platform\\0.200-1.5.5\\videoinput-platform-0.200-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\videoinput\\0.200-1.5.5\\videoinput-0.200-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\videoinput\\0.200-1.5.5\\videoinput-0.200-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus-platform\\2.3.1-1.5.5\\artoolkitplus-platform-2.3.1-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-android-arm.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-android-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-android-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-android-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\artoolkitplus\\2.3.1-1.5.5\\artoolkitplus-2.3.1-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark-platform\\1.07-1.5.5\\flandmark-platform-1.07-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-android-arm.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-android-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-android-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-android-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\flandmark\\1.07-1.5.5\\flandmark-1.07-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica-platform\\1.80.0-1.5.5\\leptonica-platform-1.80.0-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-android-arm.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-android-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-android-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-android-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\leptonica\\1.80.0-1.5.5\\leptonica-1.80.0-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract-platform\\4.1.1-1.5.5\\tesseract-platform-4.1.1-1.5.5.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-android-arm.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-android-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-android-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-android-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-linux-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-linux-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-linux-armhf.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-linux-arm64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-linux-ppc64le.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-macosx-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-windows-x86.jar;C:\\Users\\huyi\\.m2\\repository\\org\\bytedeco\\tesseract\\4.1.1-1.5.5\\tesseract-4.1.1-1.5.5-windows-x86_64.jar;C:\\Users\\huyi\\.m2\\repository\\com\\github\\atool\\fluent-mybatis\\1.8.7\\fluent-mybatis-1.8.7.jar;C:\\Users\\huyi\\.m2\\repository\\javax\\annotation\\javax.annotation-api\\1.3.2\\javax.annotation-api-1.3.2.jar;C:\\Users\\huyi\\.m2\\repository\\org\\mybatis\\mybatis-spring\\2.0.6\\mybatis-spring-2.0.6.jar;C:\\Users\\huyi\\.m2\\repository\\com\\github\\atool\\db-feature\\1.3.4\\db-feature-1.3.4.jar;C:\\Users\\huyi\\.m2\\repository\\org\\mybatis\\mybatis\\3.5.7\\mybatis-3.5.7.jar;C:\\Users\\huyi\\.m2\\repository\\mysql\\mysql-connector-java\\8.0.26\\mysql-connector-java-8.0.26.jar;C:\\Users\\huyi\\.m2\\repository\\org\\mp4parser\\isoparser\\1.9.41\\isoparser-1.9.41.jar;C:\\Users\\huyi\\.m2\\repository\\org\\slf4j\\slf4j-api\\1.7.32\\slf4j-api-1.7.32.jar;C:\\Users\\huyi\\.m2\\repository\\cn\\hutool\\hutool-all\\5.5.2\\hutool-all-5.5.2.jar;C:\\Users\\huyi\\.m2\\repository\\org\\java-websocket\\Java-WebSocket\\1.5.1\\Java-WebSocket-1.5.1.jar" ai.guiji.csdn.tools.ImageAddWatermarkUtil
ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.3-win32 (GCC) 20200320
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Input #0, image2, from 'C:\\Users\\huyi\\Desktop\\2.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 156370 kb/s
Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 3840x2160, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
Fontconfig error: Cannot load default config file
[Parsed_drawtext_0 @ 00000270f1126340] Using "C:/Windows/fonts/msyh.ttc"
Output #0, image2, to 'C:\\Users\\huyi\\Desktop\\40612bb0031142b6acf5e4dc6a11afc7.jpg':
Metadata:
encoder : Lavf58.45.100
Stream #0:0: Video: mjpeg, yuvj444p(pc), 3840x2160, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc58.91.100 mjpeg
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame= 1 fps=0.0 q=9.7 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.161x
video:346kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
C:\\Users\\huyi\\Desktop\\40612bb0031142b6acf5e4dc6a11afc7.jpg
ffmpeg version n4.3.1-20-g8a2acdc6da Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.3-win32 (GCC) 20200320
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-iconv --enable-zlib --enable-libxml2 --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvmaf --disable-vulkan --enable-libvorbis --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-ffnvcodec --enable-cuda-llvm --disable-libglslang --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libtwolame --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-libs=-lgomp
libavutil 56. 51.100 / 56. 51.100
libavcodec 58. 91.100 / 58. 91.100
libavformat 58. 45.100 / 58. 45.100
libavdevice 58. 10.100 / 58. 10.100
libavfilter 7. 85.100 / 7. 85.100
libswscale 5. 7.100 / 5. 7.100
libswresample 3. 7.100 / 3. 7.100
libpostproc 55. 7.100 / 55. 7.100
Input #0, image2, from 'C:\\Users\\huyi\\Desktop\\2.jpg':
Duration: 00:00:00.04, start: 0.000000, bitrate: 156370 kb/s
Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 3840x2160, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0000028ebcab9c00] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'C:\\Users\\huyi\\Desktop\\c643efb2f3804871bae9d38f55eb3c3d.jpg':
Metadata:
encoder : Lavf58.45.100
Stream #0:0: Video: mjpeg, yuvj420p(pc), 3840x2160, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
Metadata:
encoder : Lavc58.91.100 mjpeg
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
[Parsed_movie_0 @ 0000028ebcc16d80] EOF timestamp not reliable
frame= 1 fps=0.0 q=8.9 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.159x
video:246kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
C:\\Users\\huyi\\Desktop\\c643efb2f3804871bae9d38f55eb3c3d.jpg
Process finished with exit code 0
加文字水印效果
加logo水印效果
OK没什么大毛病。
总结
没啥总结的。
分享:
你不经意的一个微笑或许成了另一个人的世界。——《四月是你的谎言》.
如果本文对你有用的话,来个赞吧,谢谢!
以上是关于Java 图片添加文字或者logo水印(附代码) | Java工具类的主要内容,如果未能解决你的问题,请参考以下文章