Imagick::setImageCompression

(PECL imagick 2, PECL imagick 3)

Imagick::setImageCompression设置图片压缩的类型

说明

Imagick::setImageCompression ( int $compression ) : bool

参数

compression

COMPRESSION 常量里的一种

返回值

成功时返回 true

错误/异常

错误时抛出 ImagickException。

User Contributed Notes

xudongding 09-Aug-2019 09:14
const COMPRESSION_UNDEFINED = 0;
const COMPRESSION_NO = 1;
const COMPRESSION_BZIP = 2;
const COMPRESSION_FAX = 6;
const COMPRESSION_GROUP4 = 7;
const COMPRESSION_JPEG = 8;
const COMPRESSION_JPEG2000 = 9;
const COMPRESSION_LOSSLESSJPEG = 10;
const COMPRESSION_LZW = 11;
const COMPRESSION_RLE = 12;
const COMPRESSION_ZIP = 13;
const COMPRESSION_DXT1 = 3;
const COMPRESSION_DXT3 = 4;
const COMPRESSION_DXT5 = 5;
const COMPRESSION_ZIPS = 14;
const COMPRESSION_PIZ = 15;
const COMPRESSION_PXR24 = 16;
const COMPRESSION_B44 = 17;
const COMPRESSION_B44A = 18;
const COMPRESSION_LZMA = 19;
const COMPRESSION_JBIG1 = 20;
const COMPRESSION_JBIG2 = 21;
jacob at fragdev dot com 19-Apr-2019 04:12
On Ubuntu 18.04, these are the default compression methods used for the following common image formats:

PNG:  Imagick::COMPRESSION_ZIP
JPEG: Imagick::COMPRESSION_JPEG
GIF:  Imagick::COMPRESSION_LZW
snipes2083 [at] yahoo com 28-Mar-2010 10:03
Above it says "One of the COMPRESSION constants" for the parameters.  For any of you that found this confusing, you can find a list of the constants here:

Predefined Constants
http://www.php.net/manual/en/imagick.constants.php

As an example for working with a jpeg image:

<?php
    $image
= 'jpeg_image.jpg';
   
$comression_type = Imagick::COMPRESSION_JPEG;
   
   
$im = new Imagick($image);
   
$im->setImageCompression($compression_type);
?>

This class does not actually compress the images but rather sets the compression type that is going to be used. 

If you would like to see how to compress the image see:
Imagick::setImageCompressionQuality