/** * 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); }