Используя JImage, как изменить размер изображения, чтобы оно не превышало 900 x 600 пикселей? - PullRequest
0 голосов
/ 31 марта 2020

Я изменяю размер изображения в пользовательском компоненте Joomla 3.9. Код ниже использует функцию изменения размера в JImage. Это изменит размер до желаемой высоты, но, кажется, игнорирует ширину. Окончательная ширина определяется соотношением сторон, что имеет смысл, но мне нужно, чтобы окончательное изображение не превышало ни одно из измерений при сохранении соотношения сторон. Затем мне нужно сохранить его, переписав исходный файл.

Вот пример того, что я получаю: Исходный размер изображения составляет 1000 x 662 пикселей. После приведенного ниже сценария измененное изображение имеет размер 906 x 600 пикселей вместо 900 x 596 пикселей.

Вот где я с кодом ...

$image = new JImage($img_path);
$properties = JImage::getImageFileProperties($img_path);

$width = $properties->width;
$height = $properties->height;

$x = false;                 
if ($height > 600) {
   $height = 600;
   $x = true;
}

if ($width > 900) {
    $width = 900;
    $x = true;
}

if ($x == true) {   
$resizedImage = $image->resize($width, $height, true);
$resizedImage->toFile($img_path, $type);
}  

Любая помощь очень ценится!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...