Code Duplication    Length = 19-19 lines in 2 locations

src/Image.php 2 locations

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