O código usa PHP para redimensionar uma imagem (atualmente apenas jpeg.webp). Usando este método, a imagem redimensionada tem uma qualidade muito melhor do que o redimensionamento do navegador. O tamanho do arquivo da nova imagem reduzida também é menor (mais rápido para baixar).
O código vem em duas partes:
- imageResizer () é usado para processar a imagem
- loadimage () insere o url da imagem em um formato mais simples
$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
O código acima estaria em um arquivo chamado image.php.
As imagens seriam exibidas assim: