使用jmagick从图像中删除元数据

时间:2016-09-29 06:36:51

标签: java imagemagick exif jmagick

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

  

convert input.png -strip output.png

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

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

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

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:1)

这取决于您使用的版本!

JMagick到版本6.7.7:

MagickImage没有方法strip()

当前(主)JMagick版本:

MagickImage有一个名为strip()

的方法