PHP | Función setImageUnits() de Imagick

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
 

Publicación traducida automáticamente

Artículo escrito por R_Raj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *