【问题标题】:Remove metadata from an image using jmagick使用 jmagick 从图像中删除元数据
【发布时间】:2016-09-29 06:36:50
【问题描述】:

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

转换 input.png -strip output.png

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

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

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

【问题讨论】:

    标签: java imagemagick exif jmagick


    【解决方案1】:

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

    /*
     * 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);
    }
    

    【讨论】:

      【解决方案2】:

      这取决于你使用的版本!

      JMagick 最高版本 6.7.7:

      MagickImage 没有方法strip()

      当前(主)JMagick 版本:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-05
        • 1970-01-01
        相关资源
        最近更新 更多