Exemplo n.º 1
0
 /**
  * Interface for resize implementations
  *
  * @param string  $imageData Image Data
  * @param integer $height    Height value
  * @param integer $width     Width value
  * @param integer $type      Type
  *
  * @return string Resized image data
  */
 public function resize($imageData, $height, $width, $type = ElcodiMediaImageResizeTypes::FORCE_MEASURES)
 {
     $originalResource = imagecreatefromstring($imageData);
     $originalWidth = imagesx($originalResource);
     $originalHeight = imagesy($originalResource);
     $dimensions = Dimensions::create($originalWidth, $originalHeight, $width, $height, $type);
     $newResource = imagecreatetruecolor($dimensions->getDstFrameX(), $dimensions->getDstFrameY());
     $backgroundColor = imagecolorallocate($newResource, 255, 255, 255);
     imagefill($newResource, 0, 0, $backgroundColor);
     imagecopyresampled($newResource, $originalResource, $dimensions->getDstX(), $dimensions->getDstY(), $dimensions->getSrcX(), $dimensions->getSrcY(), $dimensions->getDstWidth(), $dimensions->getDstHeight(), $dimensions->getSrcWidth(), $dimensions->getSrcHeight());
     ob_start();
     imagejpeg($newResource);
     $content = ob_get_contents();
     ob_end_clean();
     return $content;
 }
Exemplo n.º 2
0
 /**
  * Test dimensions.
  *
  * working with an image with dimensions 400x400
  */
 public function testDimensionsOutboundsCrop()
 {
     $dimensions = Dimensions::create(450, 450, 300, 150, ElcodiMediaImageResizeTypes::OUTBOUND_CROP);
     $this->assertEquals(0, $dimensions->getSrcX());
     $this->assertEquals(112.5, $dimensions->getSrcY());
     $this->assertEquals(450, $dimensions->getSrcWidth());
     $this->assertEquals(225, $dimensions->getSrcHeight());
     $this->assertEquals(0, $dimensions->getDstX());
     $this->assertEquals(0, $dimensions->getDstY());
     $this->assertEquals(300, $dimensions->getDstWidth());
     $this->assertEquals(150, $dimensions->getDstHeight());
     $this->assertEquals(300, $dimensions->getDstFrameX());
     $this->assertEquals(150, $dimensions->getDstFrameY());
 }