/**
  * Enregistre la miniature de l'illustration sur le serveur.
  * 
  * @param \Lyssal\CollectionBundle\Entity\Illustration $illustration Illustration originale
  * @return \Lyssal\Image L'image miniature créée
  */
 protected function createImageMiniature(Illustration $illustration)
 {
     $imageOriginale = new Image($this->kernelRootDir . '/../web/' . $illustration->getImageChemin());
     $imageMiniature = $imageOriginale->copy($this->kernelRootDir . '/../web/' . $illustration->getImageChemin(), false);
     if (null === $imageMiniature) {
         throw new \Exception('Impossible d\'enregistrer la miniature.');
     }
     if ($imageMiniature->getLargeur() > $imageMiniature->getHauteur()) {
         $imageMiniature->redimensionne(Illustration::$MINIATURE_LARGEUR_MAXIMALE, null);
     } else {
         $imageMiniature->redimensionne(null, Illustration::$MINIATURE_HAUTEUR_MAXIMALE);
     }
     return $imageMiniature;
 }
Esempio n. 2
0
 /**
  * Enregistre l'icône sur le disque.
  *
  * @return void
  */
 protected function uploadIcone()
 {
     $this->saveIcone(false);
     $icone = new Image($this->getIconeChemin());
     $icone->setNomMinifie($this->nom, '-', true, 32);
     $this->icone = $icone->getNom();
     $icone->redimensionne(32, 32);
 }
 /**
  * Enregistre l'icône sur le disque.
  *
  * @return void
  */
 protected function uploadIcone()
 {
     // Si notre ancien icône 16px existe, on le supprime
     if (null !== $this->icone && file_exists($this->getIcone16Url())) {
         unlink($this->getIcone16Url());
     }
     // On enregistre la nouvelle icône
     $this->saveIcone(false);
     // On minifie le nom du fichier avec le nom de l'entité
     $icone = new Image($this->getIconeChemin());
     $icone->setNomMinifie($this->nom, '-', true, 64);
     $this->icone = $icone->getNom();
     // On copie l'icône pour le 16px
     $icone16 = $icone->copy($this->getIcone16Url(), false);
     // On redimensionne correctement nos icônes
     $icone->redimensionne(32, 32);
     $icone16->redimensionne(16, 16);
 }
Esempio n. 4
0
 /**
  * Enregistre l'icône sur le disque.
  *
  * @return void
  */
 protected function uploadImage()
 {
     $this->saveImage(false);
     $image = new Image($this->getImageChemin());
     $image->setNomMinifie($this->nom, '-', true, 128);
     $this->image = $image->getNom();
     if ($image->getLargeur() >= $image->getHauteur() && $image->getLargeur() > self::$IMAGE_LARGEUR_MAXIMALE) {
         $image->redimensionne(self::$IMAGE_LARGEUR_MAXIMALE, null, true);
     } elseif ($image->getLargeur() < $image->getHauteur() && $image->getHauteur() > self::$IMAGE_HAUTEUR_MAXIMALE) {
         $image->redimensionne(null, self::$IMAGE_HAUTEUR_MAXIMALE, true);
     }
 }
Esempio n. 5
0
 /**
  * Enregistre l'icône sur le disque.
  *
  * @return void
  */
 protected function uploadIcone()
 {
     if ('' != $this->icone && file_exists($this->getIcone32Url())) {
         unlink($this->getIcone32Url());
     }
     if ('' != $this->icone && file_exists($this->getIcone16Url())) {
         unlink($this->getIcone16Url());
     }
     $this->saveIcone(false);
     // On minifie le nom du fichier avec le nom de l'entité
     $icone = new Image($this->getIconeChemin());
     $icone->setNomMinifie($this->nom, '-', true, 32);
     $this->icone = $icone->getNom();
     $icone32 = $icone->copy($this->getIcone32Url(), false);
     $icone16 = $icone->copy($this->getIcone16Url(), false);
     $icone->redimensionne(128, 128);
     $icone32->redimensionne(32, 32);
     $icone16->redimensionne(16, 16);
 }
 /**
  * Enregistre l'icône sur le disque.
  *
  * @return void
  */
 protected function uploadIcone()
 {
     if (null !== $this->icone && file_exists($this->getIcone16Url())) {
         unlink($this->getIcone16Url());
     }
     $this->saveIcone(false);
     $icone = new Image($this->getIconeChemin());
     $icone->setNomMinifie($this->nom, '-', true, 64);
     $this->icone = $icone->getNom();
     $icone16 = $icone->copy($this->getIcone16Url(), false);
     $icone->redimensionne(32, 32);
     $icone16->redimensionne(16, 16);
 }
Esempio n. 7
0
 /**
  * Enregistre l'icône sur le disque.
  *
  * @return void
  */
 protected function uploadImage()
 {
     $this->deleteImage();
     $this->miniature = null;
     $fichier = new Fichier($this->imageFile->getRealPath());
     $this->image = $this->imageFile->getClientOriginalName();
     $this->dossier = $this->guessSousDossier();
     $fichier->move($this->getImageUploadDir() . DIRECTORY_SEPARATOR . $this->image, false);
     $image = new Image($fichier->getChemin());
     $image->setNomMinifie($this->getTitle(), '-', true, 128);
     $this->image = $image->getNom();
     if ($image->getLargeur() >= $image->getHauteur() && $image->getLargeur() > $this->getLargeurMaximale()) {
         $image->redimensionne($this->getLargeurMaximale(), null, true);
     } elseif ($image->getLargeur() < $image->getHauteur() && $image->getHauteur() > $this->getHauteurMaximale()) {
         $image->redimensionne(null, $this->getHauteurMaximale(), true);
     }
     $this->largeur = $image->getLargeur();
     $this->hauteur = $image->getHauteur();
     $this->setImageFile(null);
 }