我已经使用下面的imagemagick命令从图像中删除了元数据。
convert input.png -strip output.png
它几乎减少了2MB文件大小的20%。
我需要做同样的使用Jmagick java api。
是否有任何可用的api在Jmagick删除元数据?
我不能读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);
}
这取决于您使用的版本!
JMagick升级到6.7.7版本:
MagickImage没有方法strip()
当前(Master) jmagic版本:
MagickImage有一个名为strip()
的方法