Serverseitiger Image Resizer - CSS-Tricks

Anonim

Der Code verwendet PHP, um die Größe eines Bildes zu ändern (derzeit nur JPEG.webp). Mit dieser Methode ist die Größe des Bildes von viel besserer Qualität als mit einer browserbasierten Größenänderung. Die Dateigröße des neuen verkleinerten Bildes ist ebenfalls kleiner (schneller zum Herunterladen).

Der Code besteht aus zwei Teilen:

  • imageResizer () wird verwendet, um das Bild zu verarbeiten
  • loadimage () fügt die Bild-URL in einem einfacheren Format ein
 $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; ) ?>

Verwendung

Der obige Code befindet sich in einer Datei namens image.php.

Bilder würden wie folgt angezeigt: