jdeli-imageio 去水印

编程教程 > Java (2336) 2024-11-26 14:39:04

最近要用到jdeli-imageio包里面一个功能,进行了去水印处理。

首先新建一个空白maven项目,并引入javassist依赖

        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.28.0-GA</version>
        </dependency>


编写一个Java类类处理

import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;

public class Cracker {

    public static void main(String[] args) throws Exception {
            cracker();
    }
    public static void cracker() throws Exception {
        // 获取 Jar 包
        ClassPool.getDefault().insertClassPath(
                "D:/jdeli-imageio-cracker.jar");
        CtClass c2 = ClassPool.getDefault().getCtClass("com.idrsolutions.image.JDeliImage");
        CtMethod aMethod = c2.getDeclaredMethod("optimiseImage",new CtClass[]{ClassPool.getDefault().makeClass("java.awt.image.BufferedImage")});
        // 重置方法体
        aMethod.setBody("{ return $1;}");
        c2.writeFile();
    }
}

运行上面然后得到的class进行替换jar包里面的class文件即可。生成的class文件默认在当前项目的com.idrsolutions.image包下面。

提示:以上操作仅供学习研究参考,切勿用于商用。


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
最近要用到jdeli-imageio包里面一个功能,进行了去水印处理。首先新建一个空白maven项目,并引入javassist依赖 &lt;dependency&gtl; ...
简介本博文主要讲解在Java 8中 如何通过stream流的方式去重
java 处理图像报错:javax.imageio.IIOException: Invalid icc profile: duplicate sequence numbers运行环境jre 1....
功能说明:1.指定图片大小缩放图片(reSize);2.指定图片的宽度,高度根据比例缩放(reSizeByWith);3.指定图片的高度,宽度根据比例缩放(reSizeByHeight);4.判...
问题描述在Java绘制图片/画图/添加文字水印等文字内容时候,总感觉y轴有一定的偏差,导致与预期效果不一致,尤其是生产证书类型业务,对不准很影响观感。drawS
一.去activemq官网下载mq软件去Apache官网下载activemq软件,并安装。二.编写Java代码java编程中spring boot整合activ
feign-client在第一次调用微服务会出现Read timed out异常,提示的报错信息:java.net.SocketTimeoutException: Read timed out ...
java 图片 无损压缩。随着科技进步,大家手机拍的照片也从之前的几百KB变成几MB或者10MB了,有些情况我们需要压缩一下图片节省网络资源。这里将会讲解如何采用Java语音进行图片的无损压缩
rabbitmq windows 安装/windows安装rabbitmq1.获取RabbitMQ windows版本的安装文件首先我们需要去获取RabbitM
引言Spring Boot 2.0最近去了GA,所以我决定写我关于Spring的第一篇文章很长一段时间
项目升级到springboot之后,参数校验的注解报错,经过与原项目对比,发现spring-boot-starter-web的依赖项已经去除了依赖原版会有如下: &lt;dependency&g...
BorderLayout 边框布局管理器BorderLayout(边框布局管理器)是 Window、JFrame 和 JDialog 的默认布局管理器。边框布局
在Swing中,任何其他组件都必须位于一个顶层容器中。JFrame 窗口和 JPanel 面板是常用的顶层容器,本节详细介绍这两个容器的使用方法。JFrame
1.使用idea创建JavaFX项目idea创建JavaFX项目创建后运行尝试:运行结果 可以看到目前是能正常运行 Hello Word项目的,这个时候还没有maven支持
问题描述JavaFX maven项目在idea中启动报错:Exception in thread "WindowsNativeRunloopThread" java.lang.NoSuchMet...