IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[ImageMagick] Image noire (débutant)


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut [ImageMagick] Image noire (débutant)
    Bonjour.

    J'ai un formulaire d'image qui me renvoie des images (jpeg,png,gif ou bmp).
    Une fois que l'image est sur mon ftp, je la compresse en jpeg à 75% et j'en crée une miniature.

    Tout marchait bien jusqu'à ce que je fasse une petite manip. Depuis, l'image créé est noire.

    Voilà le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    function optimisation($photo,$largeur_mini,$cheminpicsmembres,$cheminpicsupload,$cheminminiatures,$jpegquality,$ftype,$ftp){
           $conn_id	  				= ftp_connect($ftp[0]);
    	$login_result 				= ftp_login($conn_id, $ftp[1],$ftp[2]);
    	$open		  				= opendir($cheminpicsupload.$photo);
    	$fichier_image				= $cheminpicsmembres.$photo;
    	$photosansextension         = explode(".",$photo);
    	if ($ftype=="image/jpeg"){
    		$image_origine			= imagecreatefromjpeg($fichier_image);
    	}
    	elseif ($ftype=="image/png"){
    		$image_origine			= imagecreatefrompng($fichier_image);
    	}
    	elseif ($ftype=="image/gif"){
    		$image_origine			= imagecreatefromgif($fichier_image);
    	}
    	elseif ($ftype=="image/bmp"){
    		$image_origine			= imagecreatefrombmp($fichier_image);
    	}
    	else {$photo="erreur. ftype=".$ftype.".<br />";return $photo;}
    	$image_finale 			    = imagecreatetruecolor(imagesx($image_origine),imagesy($image_origine));
     
    	$minidest				    = $cheminpicsupload.$photosansextension[0].".jpg";
    	if (!imagejpeg($image_finale,$minidest,50)) {$photo="Erreur ImgjpegOptimisation";return $photo;}
    	if (!imagedestroy($image_finale))                        {$photo="Erreur DestroyOptimisation";return $photo;}
    	//ici : suppression de l'image non compressée
    	$photo=$photosansextension[0].".jpg";
    	//Création automatique de miniatures lors de l'ajout de nouvelles photos au grand format 
    	$open		  			= opendir($cheminpicsupload.$photo);
    	$fichier_image			= $cheminpicsmembres.$photo;
    	$image_origine			= imagecreatefromjpeg($fichier_image);
    	$largeur_origine		= imagesx($image_origine);
    	$hauteur_origine 		= imagesy($image_origine);
    	$hauteur_mini 			= $hauteur_origine * $largeur_mini /   $largeur_origine;
    	$image_finale 			= imagecreatetruecolor($largeur_mini, $hauteur_mini);
    	imagecopyresized($image_finale, $image_origine, 0, 0, 0, 0, $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
    	$minidest				= $cheminminiatures."low".$photo;
    	if(!imagejpeg($image_finale, $minidest,$jpegquality[1])) {$photo="Erreur ImgjpegMiniature";return $photo;}
    	if(!imagedestroy($image_finale))                         {$photo="Erreur DestroyMiniature";return $photo;}
    	fclose($fp);
    	return $photo;
     
    }
    Merci

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    et qu'a tu fais comme manip?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 297
    Points : 303
    Points
    303
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier_image = $cheminpicsmembres.'/'.$photo;
    je ne sais pas si c'est juste ça qui pose problème... si tu as une image noire...

    exemple d'utilisation de imagecopyresized()
    je te conseil d'adapter une parti pour le FTP dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    // Fichier et nouvelle taille
    $filename = 'test.jpg';
    $percent = 0.5;
     
    // Content type
    header('Content-type: image/jpeg');
     
    // Calcul des nouvelles dimensions
    list($width, $height) = getimagesize($filename);
    $newwidth = $width * $percent;
    $newheight = $height * $percent;
     
    // chargement
    $thumb = imagecreatetruecolor($newwidth, $newheight);
    $source = imagecreatefromjpeg($filename);
     
    // Redimensionnement
    imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
     
    // Affichage
    imagejpeg($thumb);
    ?>
    Je pense que tout à l'aire bon par rapport à ton code,
    par contre il est plein d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$open		  				= opendir($cheminpicsupload.$photo);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$open		  			= opendir($cheminpicsupload.$photo);
    je comprend pas pourquoi tu utilises ça alors que tu n'utilises pas ses variables ($open et $fp)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/03/2008, 10h40
  2. [ImageMagick] Image color palette
    Par Exo dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 14/03/2006, 14h55
  3. [ImageMagick] Image ne pouvant être affichée car elle contient des erreurs
    Par hutchuck dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 09/12/2005, 13h59
  4. [ImageMagick] Images miniatures
    Par oli2a dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 08/11/2004, 14h42
  5. Réponses: 6
    Dernier message: 30/09/2004, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo