La función Imagick::setImageCompression() es una función incorporada en PHP que se utiliza para establecer el tipo de compresión de imágenes.
Sintaxis:
bool Imagick::setImageCompression( int $compression )
Parámetros: esta función acepta un único parámetro $compresión que contiene un número entero que coincide con una de las constantes Imagick::COMPRESSION_* . Además, puede pasar la constante directamente como $imagick->setImageCompression(imagick::COMPRESSION_DXT1); . La lista de constantes de compresión se proporciona a continuación:
- imagick::COMPRESSION_UNDEFINED (0)
- imagick::COMPRESIÓN_NO (1)
- imagick::COMPRESSION_BZIP (2)
- imagick::COMPRESIÓN_FAX (6)
- imagick::COMPRESSION_GROUP4 (7)
- imagick::COMPRESIÓN_JPEG (8)
- imagick::COMPRESIÓN_JPEG2000 (9)
- imagick::COMPRESSION_LOSLESSJPEG (10)
- imagick::COMPRESIÓN_LZW (11)
- imagick::COMPRESSION_RLE (12)
- imagick::COMPRESION_ZIP (13)
- imagick::COMPRESIÓN_DXT1 (3)
- imagick::COMPRESIÓN_DXT3 (4)
- imagick::COMPRESSION_DXT5 (5)
Valor de retorno: esta función devuelve VERDADERO en caso de éxito.
Excepciones: esta función lanza ImagickException en caso de error.
Los siguientes programas ilustran la función Imagick::setImageCompression() en PHP:
Programa 1:
php
<?php // Create new Imagick Object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // Set the Compression to COMPRESSION_RLE $imagick->setImageCompression(imagick::COMPRESSION_RLE); // Get the Compression $compression = $imagick->getImageCompression(); echo $compression; ?>
Producción:
12
Programa 2:
php
<?php // Create new Imagick Object $imagick = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-13.png'); // 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(); ?>
Producción:
Referencia: https://www.php.net/manual/en/imagick.setimagecompression.php