Если изображение направляется в браузер внутри тега <img>
, вы можете заставить браузер изменить его масштаб, изменив атрибут width
.
В противном случае вам нужно получить файл и изменить его масштаб.это в вашем PHP-коде перед выводом.
Вы можете использовать imagecopyresampled () , чтобы сделать это, вычисляя высоту.Затем выводится результат.
Пример, следующий из получения изображения в $file
из кода выше.
$img = @imagecreatefromstring($file);
if ($img === false) {
echo $file;
exit;
}
$width = imagesx($img);
$height = imagesy($img);
$newWidth = 300;
$ratio = $newWidth / $width;
$newHeight = $ratio * $height;
$resized = @imagecreatetruecolor($newWidth, $newHeight);
if ($resized === false) {
echo $file;
exit;
}
$quality = 90;
if (@imagecopyresampled($resized, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height)) {
@imagejpeg($resized, NULL, $quality);
} else {
echo $file;
}