コード例 #1
0
 /**
  * Faz o resize da imagem de acordo com a escala
  * @param ImageType $imageType Informações do tipo de imagem
  */
 private function resize($imageType)
 {
     // Obtém a escala para fazer o resize
     $scale = $this->getScaleToResize($imageType->getHeight(), $imageType->getWidth());
     // Dimensões da imagem original
     $originalImageSizes = $this->getOriginalImageSizes();
     $originalImageHeight = (double) $originalImageSizes['height'];
     $originalImageWidth = (double) $originalImageSizes['width'];
     // Cria uma nova imagem de acordo com a escala
     $newImageWidth = ceil($originalImageWidth / $scale);
     $newImageHeight = ceil($originalImageHeight / $scale);
     // Cria a imagem resized
     $newImage = imagecreatetruecolor($newImageWidth, $newImageHeight);
     $source = $this->getSource($this->getOriginalImagePath());
     imagecopyresampled($newImage, $source, 0, 0, 0, 0, $newImageWidth, $newImageHeight, $originalImageWidth, $originalImageHeight);
     $this->createImage($newImage, $this->getResizedImagePath(), $this->getOriginalImagePath());
     chmod($this->getResizedImagePath(), 0777);
 }