From 9088647d3a7e4ad5edabcada7c314673dcd69d06 Mon Sep 17 00:00:00 2001 From: Mikael Roos Date: Wed, 1 Jun 2016 09:30:18 +0200 Subject: [PATCH] Fixed background color for option , #144. --- CImage.php | 39 ++++++++++++++++++------ REVISION.md | 6 ++++ webroot/img/apple.jpg | Bin 0 -> 16822 bytes webroot/img_config.php | 2 +- webroot/test/test_option-no-upscale.php | 27 +++++++++------- 5 files changed, 53 insertions(+), 21 deletions(-) create mode 100644 webroot/img/apple.jpg diff --git a/CImage.php b/CImage.php index 604bc76..c7a233b 100644 --- a/CImage.php +++ b/CImage.php @@ -1099,6 +1099,7 @@ class CImage $this->log("New height was set."); } + // Get image dimensions for pre-resize image. if ($this->cropToFit || $this->fillToFit) { @@ -1696,25 +1697,45 @@ class CImage // Resize by crop to fit $this->log("Resizing using strategy - Crop to fit"); - if (!$this->upscale && ($this->width < $this->newWidth || $this->height < $this->newHeight)) { + if (!$this->upscale + && ($this->width < $this->newWidth || $this->height < $this->newHeight)) { $this->log("Resizing - smaller image, do not upscale."); - $cropX = round(($this->cropWidth/2) - ($this->newWidth/2)); - $cropY = round(($this->cropHeight/2) - ($this->newHeight/2)); + //$cropX = round(($this->cropWidth/2) - ($this->width/2)); + //$cropY = round(($this->cropHeight/2) - ($this->height/2)); $posX = 0; $posY = 0; + $cropX = 0; + $cropY = 0; if ($this->newWidth > $this->width) { $posX = round(($this->newWidth - $this->width) / 2); } + if ($this->newWidth < $this->width) { + $cropX = round(($this->width/2) - ($this->newWidth/2)); + } if ($this->newHeight > $this->height) { $posY = round(($this->newHeight - $this->height) / 2); } + if ($this->newHeight < $this->height) { + $cropY = round(($this->height/2) - ($this->newHeight/2)); + } + $this->log(" cwidth: $this->cropWidth"); + $this->log(" cheight: $this->cropHeight"); + $this->log(" nwidth: $this->newWidth"); + $this->log(" nheight: $this->newHeight"); + $this->log(" width: $this->width"); + $this->log(" height: $this->height"); + $this->log(" posX: $posX"); + $this->log(" posY: $posY"); + $this->log(" cropX: $cropX"); + $this->log(" cropY: $cropY"); $imageResized = $this->CreateImageKeepTransparency($this->newWidth, $this->newHeight); - imagecopy($imageResized, $this->image, $posX, $posY, $cropX, $cropY, $this->newWidth, $this->newHeight); + //imagecopy($imageResized, $this->image, $posX, $posY, 0, 0, $this->width, $this->height); + imagecopy($imageResized, $this->image, $posX, $posY, $cropX, $cropY, $this->width, $this->height); } else { $cropX = round(($this->cropWidth/2) - ($this->newWidth/2)); $cropY = round(($this->cropHeight/2) - ($this->newHeight/2)); @@ -1747,14 +1768,14 @@ class CImage } if (!$this->upscale - && ($this->width < $this->newWidth || $this->height < $this->newHeight) + && ($this->width < $this->newWidth && $this->height < $this->newHeight) ) { $this->log("Resizing - smaller image, do not upscale."); - $posX = round(($this->fillWidth - $this->width) / 2); - $posY = round(($this->fillHeight - $this->height) / 2); + $posX = round(($this->newWidth - $this->width) / 2); + $posY = round(($this->newHeight - $this->height) / 2); $imageResized = $this->CreateImageKeepTransparency($this->newWidth, $this->newHeight); - imagecopy($imageResized, $this->image, $posX, $posY, 0, 0, $this->fillWidth, $this->fillHeight); + imagecopy($imageResized, $this->image, $posX, $posY, 0, 0, $this->width, $this->height); } else { $imgPreFill = $this->CreateImageKeepTransparency($this->fillWidth, $this->fillHeight); @@ -1798,7 +1819,7 @@ class CImage //$this->log("posX=$posX, posY=$posY, cropX=$cropX, cropY=$cropY."); $imageResized = $this->CreateImageKeepTransparency($this->newWidth, $this->newHeight); - imagecopy($imageResized, $this->image, $posX, $posY, $cropX, $cropY, $this->newWidth, $this->newHeight); + imagecopy($imageResized, $this->image, $posX, $posY, $cropX, $cropY, $this->width, $this->height); $this->image = $imageResized; $this->width = $this->newWidth; $this->height = $this->newHeight; diff --git a/REVISION.md b/REVISION.md index 5b41d5e..76aaabd 100644 --- a/REVISION.md +++ b/REVISION.md @@ -5,6 +5,12 @@ Revision history [![Build Status](https://scrutinizer-ci.com/g/mosbth/cimage/badges/build.png?b=master)](https://scrutinizer-ci.com/g/mosbth/cimage/build-status/master) +v0.7.12 (2016-05-31) +------------------------------------- + +* Fixed background color for option `no-upscale`, #144. + + v0.7.11 (2016-04-18) ------------------------------------- diff --git a/webroot/img/apple.jpg b/webroot/img/apple.jpg new file mode 100644 index 0000000000000000000000000000000000000000..efdf81012043e6ff41896c0c97181be79ac30287 GIT binary patch literal 16822 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

$epzZ-Vl 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%0AXll`jXWVC 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 'production', - //'mode' => 'development', + 'mode' => 'development', //'mode' => 'strict', diff --git a/webroot/test/test_option-no-upscale.php b/webroot/test/test_option-no-upscale.php index e355cff..897ad73 100644 --- a/webroot/test/test_option-no-upscale.php +++ b/webroot/test/test_option-no-upscale.php @@ -17,12 +17,13 @@ $description = "Do not upscale image when original image (slice) is smaller than // Use these images in the test $images = array( 'car.png', + 'apple.jpg', ); // For each image, apply these testcases -$nc = null; //"&nc"; //null; //&nc'; +$nc = "&bgc=660000"; //null; //"&nc"; //null; //&nc'; $testcase = array( $nc . '&w=600', $nc . '&w=600&no-upscale', @@ -34,16 +35,20 @@ $testcase = array( $nc . '&w=700&h=400&no-upscale&stretch', $nc . '&w=700&h=200&stretch', $nc . '&w=700&h=200&no-upscale&stretch', - $nc . '&w=300&h=400&stretch', - $nc . '&w=300&h=400&no-upscale&stretch', - $nc . '&w=600&h=400&crop-to-fit', - $nc . '&w=600&h=400&no-upscale&crop-to-fit', - $nc . '&w=600&h=200&crop-to-fit', - $nc . '&w=600&h=200&no-upscale&crop-to-fit', - $nc . '&w=300&h=400&crop-to-fit', - $nc . '&w=300&h=400&no-upscale&crop-to-fit', - $nc . '&w=600&h=400&fill-to-fit', - $nc . '&w=600&h=400&no-upscale&fill-to-fit', + $nc . '&w=250&h=400&stretch', + $nc . '&w=250&h=400&no-upscale&stretch', + $nc . '&w=700&h=400&crop-to-fit', + $nc . '&w=700&h=400&no-upscale&crop-to-fit', + $nc . '&w=700&h=200&crop-to-fit', + $nc . '&w=700&h=200&no-upscale&crop-to-fit', + $nc . '&w=250&h=400&crop-to-fit', + $nc . '&w=250&h=400&no-upscale&crop-to-fit', + $nc . '&w=600&h=500&fill-to-fit', + $nc . '&w=600&h=500&no-upscale&fill-to-fit', + $nc . '&w=250&h=400&fill-to-fit', + $nc . '&w=250&h=400&no-upscale&fill-to-fit', + $nc . '&w=700&h=400&fill-to-fit', + $nc . '&w=700&h=400&no-upscale&fill-to-fit', /* $nc . '&w=600&ar=1.6', $nc . '&w=600&ar=1.6&no-upscale',