round scaled dimensions up to avoid zero size

This commit is contained in:
Matthew Exon 2024-04-06 05:08:07 +01:00 committed by Matthew Exon
parent e9dcf15d86
commit c5b8abcaf0
2 changed files with 8 additions and 5 deletions

View File

@ -591,6 +591,9 @@ class Image
if (!$this->isValid()) {
return false;
}
if ($dest_width <= 0 || $dest_height <= 0) {
return false;
}
if ($this->isImagick()) {
/*

View File

@ -418,19 +418,19 @@ class Images
if ((($height * 9) / 16) > $width) {
$dest_width = $max;
$dest_height = intval(($height * $max) / $width);
$dest_height = intval(ceil(($height * $max) / $width));
} elseif ($width > $height) {
// else constrain both dimensions
$dest_width = $max;
$dest_height = intval(($height * $max) / $width);
$dest_height = intval(ceil(($height * $max) / $width));
} else {
$dest_width = intval(($width * $max) / $height);
$dest_width = intval(ceil(($width * $max) / $height));
$dest_height = $max;
}
} else {
if ($width > $max) {
$dest_width = $max;
$dest_height = intval(($height * $max) / $width);
$dest_height = intval(ceil(($height * $max) / $width));
} else {
if ($height > $max) {
// very tall image (greater than 16:9)
@ -440,7 +440,7 @@ class Images
$dest_width = $width;
$dest_height = $height;
} else {
$dest_width = intval(($width * $max) / $height);
$dest_width = intval(ceil(($width * $max) / $height));
$dest_height = $max;
}
} else {