方法setImageCompressionQuality
设置当前图像的压缩质量。该方法是一个包装器MagickWand
's MagickSetImageCompressionQuality
功能。源代码 https://github.com/ImageMagick/ImageMagick/blob/master/MagickWand/magick-image.c#L9448 is:
WandExport MagickBooleanType MagickSetImageCompressionQuality(MagickWand *wand,
const size_t quality)
{
assert(wand != (MagickWand *) NULL);
assert(wand->signature == MagickWandSignature);
if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
if (wand->images == (Image *) NULL)
ThrowWandException(WandError,"ContainsNoImages",wand->name);
//This line sets the quality for the instance 'images'
wand->images->quality=quality;
return(MagickTrue);
}
方法setCompressionQuality
设置整个对象的压缩质量。该方法是一个包装器MagickWand
's MagickSetCompressionQuality
功能。源代码 https://github.com/ImageMagick/ImageMagick/blob/master/MagickWand/magick-property.c#L1980 is:
WandExport MagickBooleanType MagickSetCompressionQuality(MagickWand *wand,
const size_t quality)
{
assert(wand != (MagickWand *) NULL);
assert(wand->signature == MagickWandSignature);
if (wand->debug != MagickFalse)
(void) LogMagickEvent(WandEvent,GetMagickModule(),"%s",wand->name);
//This line sets quality for the image_info struct instance.
wand->image_info->quality=quality;
return(MagickTrue);
}
The MagickWand
结构体包含以下实例Image
and ImageInfo
结构体,source https://github.com/ImageMagick/ImageMagick/blob/master/MagickWand/magick-wand-private.h#L49:
struct _MagickWand
{
...
Image
*images; /* The images in this wand - also the current image */
ImageInfo
*image_info; /* Global settings used for images in Wand */
...
};
Both Image and ImageInfo https://github.com/ImageMagick/ImageMagick/blob/master/MagickCore/image.h#L151结构体持有一个size_t quality;
数据成员。所以对于你的例子setImageCompressionQuality
完全没问题。