Bildåterställare på serversidan - CSS-tricks

Anonim

Koden använder PHP för att ändra storlek på en bild (för närvarande endast jpeg.webp). Med den här metoden har den ändrade storleken på bilden mycket bättre kvalitet än en storlek på webbläsarens sida. Filstorleken för den nya nedskalade bilden är också mindre (snabbare att ladda ner).

Koden finns i två delar:

  • imageResizer () används för att bearbeta bilden
  • loadimage () infogar webbadressen i ett enklare format
 $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; ) ?>

Användande

Ovanstående kod skulle finnas i en fil som heter image.php.

Bilderna visas så här: