Serverio pusės vaizdo keitiklis - CSS-gudrybės

Anonim

Kodas naudoja PHP, kad pakeistų vaizdo dydį (šiuo metu tik JPEG.webp). Naudojant šį metodą, pakeisto dydžio vaizdas yra daug geresnės kokybės nei naršyklės pusės dydžio keitimas. Naujo sumažinto atvaizdo failo dydis taip pat yra mažesnis (greičiau atsisiųsti).

Kodas yra dviejų dalių:

  • „imageResizer“ () naudojamas apdoroti vaizdą
  • „loadimage“) įterpia vaizdo URL paprastesniu formatu
 $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; ) ?>

Naudojimas

Virš kodas būtų faile, vadinamame image.php.

Vaizdai būtų rodomi taip: