0

我已经使用下面的 imagemagick 命令从图像中删除了元数据。

转换 input.png -strip output.png

它几乎减少了 2MB 文件大小的 20%。

我需要使用 Jmagick java api 做同样的事情。

Jmagick 中是否有任何 api 可用于删除元数据?

4

2 回答 2

1

我看不懂Java,但似乎有一个strip方法src/magick/magick_MagickImage.c

/*
 * Class:     magick_MagickImage
 * Method:    strip
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_magick_MagickImage_strip
    (JNIEnv *env, jobject self) {
    Image *image = NULL;
    jboolean retVal;

    image = (Image*) getHandle(env, self, "magickImageHandle", NULL);
    if (image == NULL) {
    throwMagickException(env, "Unable to retrieve image handle");
    return JNI_FALSE;
    }

    retVal = StripImage(image);
    return(retVal);
}
于 2016-09-29T07:46:18.733 回答
1

这取决于您使用的版本!

JMagick 至 6.7.7 版:

MagickImage没有方法strip()

当前(主)JMagick 版本:

MagickImage有一个名为的方法strip()

于 2018-06-15T09:19:35.827 回答