La función imagecopyresized() es una función incorporada en PHP que se usa para copiar una porción rectangular de una imagen a otra imagen. dst_image es la imagen de destino, src_image es el identificador de la imagen de origen. Esta función es similar a la función imagecopyresampled() pero no realiza muestreo para reducir el tamaño.
Sintaxis:
bool imagecopyresized( resource $dst_image, resource $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_w, int $dst_h, int $src_w, int $src_h )
Parámetros: Esta función acepta diez parámetros como se mencionó anteriormente y se describe a continuación:
- $dst_image: Especifica el recurso de la imagen de destino.
- $src_image: Especifica el recurso de la imagen de origen.
- $dst_x: Especifica la coordenada x del punto de destino.
- $dst_y: Especifica la coordenada y del punto de destino.
- $src_x: especifica la coordenada x del punto de origen.
- $src_y: especifica la coordenada y del punto de origen.
- $dst_w: Especifica el ancho de destino.
- $dst_h: Especifica la altura de destino.
- $src_w: Especifica el ancho de la fuente.
- $src_h: Especifica la altura de la fuente.
Valor de retorno: esta función devuelve VERDADERO en caso de éxito o FALSO en caso de error.
Los siguientes programas ilustran la función imagecopyresized() en PHP:
Programa 1 (Redimensionar la imagen a 1,5 veces su ancho y alto):
<?php // The percentage to be used $percent = 1.5; // make image 1.5 times bigger // Get image dimensions list($width, $height) = getimagesize('https://media.geeksforgeeks.org/wp-content/uploads/20200123100652/geeksforgeeks12.jpg'); $newwidth = $width * $percent; $newheight = $height * $percent; // Get the image $thumb = imagecreatetruecolor($newwidth, $newheight); $source = imagecreatefromjpeg('https://media.geeksforgeeks.org/wp-content/uploads/20200123100652/geeksforgeeks12.jpg'); // Resize the image imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); // Output the image header('Content-Type: image/jpeg'); imagejpeg($thumb); ?>
Producción:
Programa 2 (Redimensionar imagen con ancho y alto fijos):
<?php // Set a fixed height and width $width = 150; $height = 150; // Get image dimensions list($width_orig, $height_orig) = getimagesize('https://media.geeksforgeeks.org/wp-content/uploads/20200123100652/geeksforgeeks12.jpg'); // Resample the image $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg('https://media.geeksforgeeks.org/wp-content/uploads/20200123100652/geeksforgeeks12.jpg'); imagecopyresized($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output the image header('Content-Type: image/jpeg'); imagejpeg($image_p, null, 100); ?>
Producción:
Referencia: https://www.php.net/manual/en/function.imagecopyresized.php