Redimensionare imagine laterală server - CSS-Tricks

Anonim

Codul folosește PHP pentru a redimensiona o imagine (în prezent doar jpeg.webp). Folosind această metodă, imaginea redimensionată este de o calitate mult mai bună decât o redimensionare din partea browserului. Dimensiunea fișierului noii imagini reduse este, de asemenea, mai mică (descărcare mai rapidă).

Codul este format din două părți:

  • imageResizer () este folosit pentru a procesa imaginea
  • loadimage () inserează adresa URL a imaginii într-un format mai simplu
 $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; ) ?>

Utilizare

Codul de mai sus ar fi într-un fișier numit image.php.

Imaginile vor fi afișate astfel: