La función Imagick::setImageUnits() es una función incorporada en PHP que se usa para establecer las unidades de resolución de una imagen en particular.
Sintaxis:
bool Imagick::setImageUnits( $units )
Parámetros: esta función acepta un solo parámetro $unidades que se utiliza para especificar las unidades que se establecerán para la imagen.
Constantes de resolución: la función Imagick::setImageUnits() establece las unidades de imagen, como se describe a continuación:
- imagick::RESOLUTION_UNDEFINED(entero), unidad = 0
- imagick::RESOLUTION_PIXELSPERINCH(entero), unidad = 1
- imagick::RESOLUTION_PIXELSPERCENTIMETER(entero), unidad = 2
Valor de retorno: esta función devuelve True en caso de éxito.
Imagen original:
Los siguientes programas ilustran la función Imagick::setImageUnits() en PHP:
Programa 1:
php
<?php // PHP program to illustrate // seImageUnits function $image = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-15.png'); // Use getImageUnits function $units = $image->getImageUnits(); echo "units Before SetUnit = "; print_r($units); // set image unit = 1 $image->setImageUnits(1); // Display the output $units = $image->getImageUnits(); echo "</br>units After Set = "; print_r($units); ?>
Producción:
units Before SetUnit = 2 units After Set = 1
Programa 2:
php
<?php $i = new Imagick( 'https://media.geeksforgeeks.org/wp-content/uploads/geeksforgeeks-15.png'); $r = $i->getImageResolution(); $u = $i->getImageUnits(); echo "print previous resolution = "; print_r($r); // print units echo "</br>Check units = "; print_r($u); // for units are based on below resolution //0=undefined, 1=pixelsperInch, 2=PixelsPerCentimeter // checking if units = 2 // then set unit = 1 if ($u == Imagick::RESOLUTION_PIXELSPERCENTIMETER) { $r[x] = (int)round($r[x] * 2); $r[y] = (int)round($r[y] * 2); $i->setImageUnits(Imagick::RESOLUTION_PIXELSPERINCH); $i->setImageResolution($r[x], $r[y]); //note that the number type is double again $r = $i->getImageResolution(); } // print resolution after echo "</br>resolution after "; print_r($r); $u = $i->getImageUnits(); echo "</br>units After Set = "; print_r($u); ?>
Producción:
print previous resolution = Array ( [x] => 37.8 [y] => 37.8 ) Check units = 2 resolution after Array ( [x] => 76 [y] => 76 ) units After Set = 1
Referencia: http://php.net/manual/en/imagick.setimageunits.php