Skip to content
Related Articles

Related Articles

Improve Article

PHP | Imagick setImageCompression() Function

  • Last Updated : 19 Nov, 2019

The Imagick::setImageCompression() function is an inbuilt function in PHP which is used to set the image compression type.

Syntax:

bool Imagick::setImageCompression( int $compression )

Parameters: This function accepts a single parameter $compression which holds an integer matching to one of Imagick::COMPRESSION_* constants. Additionally, you can pass the constant directly like
$imagick->setImageCompression(imagick::COMPRESSION_DXT1);.

List of Compression constants are given below:

  • imagick::COMPRESSION_UNDEFINED (0)
  • imagick::COMPRESSION_NO (1)
  • imagick::COMPRESSION_BZIP (2)
  • imagick::COMPRESSION_FAX (6)
  • imagick::COMPRESSION_GROUP4 (7)
  • imagick::COMPRESSION_JPEG (8)
  • imagick::COMPRESSION_JPEG2000 (9)
  • imagick::COMPRESSION_LOSSLESSJPEG (10)
  • imagick::COMPRESSION_LZW (11)
  • imagick::COMPRESSION_RLE (12)
  • imagick::COMPRESSION_ZIP (13)
  • imagick::COMPRESSION_DXT1 (3)
  • imagick::COMPRESSION_DXT3 (4)
  • imagick::COMPRESSION_DXT5 (5)

Return Value: This function returns TRUE on success.

Exceptions: This function thows ImagickException on error.



Below programs illustrate the Imagick::setImageCompression() function in PHP:

Program 1:




<?php
  
// Create new Imagick Object
$imagick = new Imagick(
  
// Set the Compression to COMPRESSION_RLE
$imagick->setImageCompression(imagick::COMPRESSION_RLE);
  
// Get the Compression
$compression = $imagick->getImageCompression();
echo $compression;
?>

Output:

12

Program 2:




<?php
  
// Create new Imagick Object
$imagick = new Imagick(
  
// Set the Compression to COMPRESSION_JPEG
$imagick->setImageCompression(imagick::COMPRESSION_JPEG);
  
// Set the Compression quality
// This is where that compression method imagick::COMPRESSION_JPEG is
// used in the program.
$imagick->setImageCompressionQuality(5);
  
// Show the output
$imagick->setformat('jpg');
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
?>

Output:

Reference: https://www.php.net/manual/en/imagick.setimagecompression.php




My Personal Notes arrow_drop_up
Recommended Articles
Page :