La función imagecopyresampled() es una función incorporada en PHP que se usa para copiar una parte rectangular de una imagen a otra imagen, interpolando suavemente los valores de píxeles para que, en particular, la reducción del tamaño de una imagen aún conserve una gran claridad.
Sintaxis:
bool imagecopyresampled( recurso $dst_image, recurso $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 devuelto: esta función devuelve VERDADERO en caso de éxito o FALSO en caso de error.
Los programas dados a continuación ilustran la función imagecopyresampled() en PHP:
Programa 1 (Remuestrear la imagen a la mitad de su ancho y alto):
<?php // Get dimensions of new image list($width, $height) = getimagesize( 'https://media.geeksforgeeks.org/wp-content/uploads/20200123100652/geeksforgeeks12.jpg'); // Reduce width and height to half $new_width = $width * 0.5; $new_height = $height * 0.5; // Resample the image $image_p = imagecreatetruecolor($new_width, $new_height); $image = imagecreatefromjpeg( 'https://media.geeksforgeeks.org/wp-content/uploads/20200123100652/geeksforgeeks12.jpg'); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); // Output the image to browser header('Content-Type: image/jpeg'); imagejpeg($image_p, null, 100); ?>
Producción:
Programa 2 (Remuestrear imagen con ancho y alto fijos):
<?php // Set a fixed height and width $width = 300; $height = 300; // 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'); imagecopyresampled($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.imagecopyresampled.php