Merge pull request #12548 from MarekBenjamin/doubled_code_for_scaling-dimensions
Replace duplicated code by Images::getScalingDimensions call in Object\Image->scaleDown
This commit is contained in:
commit
21056ae587
1 changed files with 4 additions and 40 deletions
|
@ -285,49 +285,13 @@ class Image
|
|||
$width = $this->getWidth();
|
||||
$height = $this->getHeight();
|
||||
|
||||
if ((! $width)|| (! $height)) {
|
||||
$scale = Images::getScalingDimensions($width, $height, $max);
|
||||
if ($scale) {
|
||||
return $this->scale($scale['width'], $scale['height']);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($width > $max && $height > $max) {
|
||||
// very tall image (greater than 16:9)
|
||||
// constrain the width - let the height float.
|
||||
|
||||
if ((($height * 9) / 16) > $width) {
|
||||
$dest_width = $max;
|
||||
$dest_height = intval(($height * $max) / $width);
|
||||
} elseif ($width > $height) {
|
||||
// else constrain both dimensions
|
||||
$dest_width = $max;
|
||||
$dest_height = intval(($height * $max) / $width);
|
||||
} else {
|
||||
$dest_width = intval(($width * $max) / $height);
|
||||
$dest_height = $max;
|
||||
}
|
||||
} else {
|
||||
if ($width > $max) {
|
||||
$dest_width = $max;
|
||||
$dest_height = intval(($height * $max) / $width);
|
||||
} else {
|
||||
if ($height > $max) {
|
||||
// very tall image (greater than 16:9)
|
||||
// but width is OK - don't do anything
|
||||
|
||||
if ((($height * 9) / 16) > $width) {
|
||||
$dest_width = $width;
|
||||
$dest_height = $height;
|
||||
} else {
|
||||
$dest_width = intval(($width * $max) / $height);
|
||||
$dest_height = $max;
|
||||
}
|
||||
} else {
|
||||
$dest_width = $width;
|
||||
$dest_height = $height;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $this->scale($dest_width, $dest_height);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue