Redimensionador de imágenes del lado del servidor - Trucos CSS

Anonim

El código usa PHP para cambiar el tamaño de una imagen (actualmente solo jpeg.webp). Con este método, la imagen redimensionada tiene una calidad mucho mejor que la del lado del navegador. El tamaño del archivo de la nueva imagen reducida también es más pequeño (más rápido de descargar).

El código viene en dos partes:

  • imageResizer () se utiliza para procesar la imagen
  • loadimage () inserta la URL de la imagen en un formato más simple
 $ratio_orig) ( $width = $height*$ratio_orig; ) else ( $height = $width/$ratio_orig; ) // This resamples the image $image_p = imagecreatetruecolor($width, $height); $image = imagecreatefromjpeg.webp($url); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); // Output the image imagejpeg.webp($image_p, null, 100); ) //works with both POST and GET $method = $_SERVER('REQUEST_METHOD'); if ($method == 'GET') ( imageResize($_GET('url'), $_GET('w'), $_GET('h')); ) elseif ($method == 'POST') ( imageResize($_POST('url'), $_POST('w'), $_POST('h')); ) // makes the process simpler function loadImage($url, $width, $height)( echo 'image.php?url=', urlencode($url) , '&w=',$width, '&h=',$height; ) ?>

Uso

El código anterior estaría en un archivo llamado image.php.

Las imágenes se mostrarían así: