setImageCompressionQuality
設置壓縮質量您的當前圖像的方法。此方法是MagickWand
的MagickSetImageCompressionQuality
函數的封裝。 Source code是:
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
的MagickSetCompressionQuality
函數的封裝。 Source code是:
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);
}
的MagickWand
結構持有Image
和ImageInfo
結構,source實例:
struct _MagickWand
{
...
Image
*images; /* The images in this wand - also the current image */
ImageInfo
*image_info; /* Global settings used for images in Wand */
...
};
兩個Image
and ImageInfo
結構保持size_t quality;
數據成員。所以對於你的例子setImageCompressionQuality
是完全沒問題的。
根據Imagick的PHP頁面:http://php.net/manual/en/book.imagick.php一個是一個對象,另一個是圖像。 「我讀過setCompressionQuality方法只適用於新圖像(?)」是的,就像它在上面的頁面上說的那樣。所以只有一個會適用於你的情況。 – Bonzo