| @@ 133-151 (lines=19) @@ | ||
| 130 | $targetHeight = null; |
|
| 131 | $targetX = null; |
|
| 132 | $targetY = null; |
|
| 133 | if ($width < $boxWidth && $height < $boxHeight && !$upsize) { |
|
| 134 | $targetWidth = $width; |
|
| 135 | $targetHeight = $height; |
|
| 136 | $targetX = ($boxWidth - $width) / 2; |
|
| 137 | $targetY = ($boxHeight - $height) / 2; |
|
| 138 | } else { |
|
| 139 | //if box is more vertical than original |
|
| 140 | if ($boxRatio < $originalRatio) { |
|
| 141 | $targetWidth = $boxWidth; |
|
| 142 | $targetHeight = (int)((double)$boxWidth / $originalRatio); |
|
| 143 | $targetX = 0; |
|
| 144 | $targetY = ($boxHeight - $targetHeight) / 2; |
|
| 145 | } else { |
|
| 146 | $targetWidth = (int)((double)$boxHeight * $originalRatio); |
|
| 147 | $targetHeight = $boxHeight; |
|
| 148 | $targetX = ($boxWidth - $targetWidth) / 2; |
|
| 149 | $targetY = 0; |
|
| 150 | } |
|
| 151 | } |
|
| 152 | ||
| 153 | $widthReduced = false; |
|
| 154 | if ($width > $targetWidth) { |
|
| @@ 308-326 (lines=19) @@ | ||
| 305 | $targetHeight = null; |
|
| 306 | $targetX = null; |
|
| 307 | $targetY = null; |
|
| 308 | if ($width < $boxWidth && $height < $boxHeight && !$upsize) { |
|
| 309 | $targetWidth = $width; |
|
| 310 | $targetHeight = $height; |
|
| 311 | $targetX = ($boxWidth - $width) / 2; |
|
| 312 | $targetY = ($boxHeight - $height) / 2; |
|
| 313 | } else { |
|
| 314 | //if box is more vertical than original |
|
| 315 | if ($boxRatio < $originalRatio) { |
|
| 316 | $targetWidth = $boxWidth; |
|
| 317 | $targetHeight = (int)((double)$boxWidth / $originalRatio); |
|
| 318 | $targetX = 0; |
|
| 319 | $targetY = ($boxHeight - $targetHeight) / 2; |
|
| 320 | } else { |
|
| 321 | $targetWidth = (int)((double)$boxHeight * $originalRatio); |
|
| 322 | $targetHeight = $boxHeight; |
|
| 323 | $targetX = ($boxWidth - $targetWidth) / 2; |
|
| 324 | $targetY = 0; |
|
| 325 | } |
|
| 326 | } |
|
| 327 | ||
| 328 | //do iterative downsize by halfs (2x2 binning is a common name) on dimensions that are bigger than target |
|
| 329 | //width and height |
|