Subversion Repositories eFlore/Applications.cel

Compare Revisions

Regard whitespace Rev 2237 → Rev 2238

/trunk/jrest/lib/ImageRecreation.php
119,6 → 119,7
}
 
public function creerMiniatureImageSelonFormat($infos_image_originale, $format = 'O') {
$image_redimensionnee = false;
if ($format == 'O') {
// format original : rien à faire
$image_redimensionnee = $infos_image_originale['image'];
130,8 → 131,9
// on applique l'algorithme d'auto détection de sujets
// qui centre la miniature sur le sujet de l'image
$image_redimensionnee = $this->opticrop($infos_image_originale, $format);
} else {
// si l'on ne dispose que de gd
}
if ($image_redimensionnee === false) {
// si l'on ne dispose que de gd ou bien que Imagick a échoué
// la minature est une image redimensionnée rognée au centre
$image_redimensionnee = $this->creerMiniatureCarreeRognee($infos_image_originale, $format);
}
258,7 → 260,7
 
if ($this->estPaysage($informations_image)) {
$cote_carre_non_redimensionne = $informations_image['hauteur'];
$debut_largeur_a_copier = ($informations_image['hauteur'] - $cote_carre)/2 ;
$debut_largeur_a_copier = ($informations_image['largeur'] / 2) - ($informations_image['hauteur'] / 2);
$debut_hauteur_a_copier = 0;
 
if($debut_largeur_a_copier <= 0) {
270,7 → 272,7
} else {
$cote_carre_non_redimensionne = $informations_image['largeur'];
$debut_largeur_a_copier = 0 ;
$debut_hauteur_a_copier = ($informations_image['largeur'] - $cote_carre)/2;
$debut_hauteur_a_copier = ($informations_image['hauteur'] / 2) - ($informations_image['largeur'] / 2);
 
if($debut_hauteur_a_copier <= 0) {
$debut_hauteur_a_copier = 0;
546,6 → 548,7
*/
public function opticrop($informations_image, $format) {
umask(0);
$erreur_ecriture = false;
 
$nom_temp = md5(time());
$chemin_temp =
581,9 → 584,21
$img->edgeImage($r);
$img->modulateImage(100,0,100); // grayscale
$img->blackThresholdImage("#0f0f0f");
$img->writeImage($out);
$retour_ecriture_img = $img->writeImage($out);
 
if ($retour_ecriture_img !== true) {
error_log("Erreur d'écriture Imagick : [" . $chemin_image . "] vers [" . $out . "]");
$erreur_ecriture = true;
}
// use gd for random pixel access
$im = ImageCreateFromJpeg($out);
 
if ($im === false) {
error_log("GD ne peut pas lire l'image créée par Imagick : [" . $chemin_image . "] vers [" . $out . "]");
$erreur_ecriture = true;
}
if (! $erreur_ecriture) {
$xcenter = 0;
$ycenter = 0;
$sum = 0;
675,15 → 690,23
}
}
 
// return image
// écrasement de l'image par la version "croppée"
$imgcp->cropImage($maxparam['w'], $maxparam['h'], $maxparam['x'], $maxparam['y']);
$imgcp->scaleImage($largeur_vignette, $hauteur_vignette);
$imgcp->writeImage($out);
 
// return image
chmod($out, 0777);
$img->destroy();
$imgcp->destroy();
$image_sortie = ImageCreateFromJpeg($out);
} else {
// image n'a pas pu être croppée - on retourne l'originale
//$image_sortie = ImageCreateFromJpeg($chemin_image);
$image_sortie = false;
}
 
$image_sortie = ImageCreateFromJpeg($out);
// destruction fichier temporaire dans tous les cas
unlink($out);
 
return $image_sortie;