Page 1 sur 1

Images miniatures NOIRES

Posté : 06 nov. 2009, 17:39
par Romuald632
Bonjour mes images miniatures sont NOIRES
Voici mon code :
<?php
if (isset($_FILES['image']) AND ($_FILES['image']['error']==0) AND ($_FILES['image']['size']<= 1000000))
	{
		// Récuperation de l'extension du fichier envoyer
		$infoimage = pathinfo($_FILES['image']['name']);
		$extension_image = $infoimage['extension'];
		$extension_autorise = array('jpg','jpeg','gif','png');
		if (in_array($extension_image,$extension_autorise))
		{
			$chemin_image = 'original/'.basename($_FILES['image']['name']);
			move_uploaded_file($_FILES['image']['tmp_name'],$chemin_image);
			echo 'l\'image à bien été envoyée !<br/>';
			echo '<p><img src="original/'.basename($_FILES['image']['name']).'" alt="'.basename($_FILES['image']['name']).'"/></p>';
			// Création de la miniature de l'image envoyée.
			
		        $image_source = imagecreatefromjpeg($chemin_image);
			
			
			$image_destination = imagecreatetruecolor(150,150);
			$image_source_largeur = imagesx($image_source);
			$image_source_hauteur = imagesy($image_source);
			$image_destination_largeur = imagesx($image_destination);
			$image_destination_largeur = imagesy($image_destination);
			
			imagecopyresampled($image_destination,$image_source,0,0,0,0,$image_destination_largeur,$image_destination_hauteur,$image_source_largeur,$image_source_hauteur);
			imagejpeg($image_destination, 'miniature/pt_'.basename($_FILES['image']['name']),0);
			
			echo 'Miniature créée';
			echo '<p><img src="miniature/pt_'.basename($_FILES['image']['name']).'"/></p>';
			
		}
		else
		{
			echo 'l\'image n\'est pas au bon format.';
		}
	}
	else
	{
		echo 'erreur lors de l\'envoie de l\'image.';
	}
?>
Pouvez-vous m'aider

Re: Images miniatures NOIRES

Posté : 06 nov. 2009, 18:48
par Aureusms
Attention aux multipostes....

As tu vérifier cette ligne ?
 imagecopyresampled($image_destination,$image_source,0,0,0,0,$image_destination_largeur,$image_destination_hauteur,$image_source_largeur,$image_source_hauteur);
imagescopyresampled doit retourner true ou false

Re: Images miniatures NOIRES

Posté : 06 nov. 2009, 18:54
par Romuald632
J'ai un message d'erreur sur cette ligne
Notice: Undefined variable: image_destination_hauteur in D:\Romuald\Travail\wamp\www\test\thumbs\upload.php on line 32

Re: Images miniatures NOIRES

Posté : 06 nov. 2009, 20:26
par fab
Regarde ici
$image_destination_largeur = imagesx($image_destination);
$image_destination_largeur = imagesy($image_destination);
Tu as défini deux fois $image_destination_largeur alors que la fonction imagesy() te donne si la hauteur donc la supposée et voulue variable $image_destination_hauteur

Re: Images miniatures NOIRES

Posté : 09 nov. 2009, 10:50
par Romuald632
Bonjour,
J'ai donc modifié mon code :
// Création de la miniature de l'image envoyée.
$image_source = imagecreatefromjpeg($chemin_image);
$image_destination = imagecreatetruecolor(150,150);
$image_destination_hauteur = imagesx($image_destination);
$image_destination_largeur = imagesy($image_destination);

imagecopyresampled($image_destination,$image_source,0,0,0,0,$image_destination_hauteur,$image_destination_largeur);
Mais j'ai tjs une erreur : Warning: Wrong parameter count for imagecopyresampled()

Là je ne comprends pas.
Merci de votre aide

Re: Images miniatures NOIRES

Posté : 09 nov. 2009, 11:10
par Aureusms
C'est simple imagecopyresampled doit avoir 10 paramètres entre les parathèses : http://php.net/manual/fr/function.image ... ampled.php
Toi tu n'en as que 8.
Vérifies ceci.

Re: Images miniatures NOIRES

Posté : 09 nov. 2009, 11:19
par Romuald632
J'ai rajouté deux paramètres mais mon image est tjs noire :
$image_source = imagecreatefromjpeg($chemin_image);
$image_destination = imagecreatetruecolor(150,150);
$image_source_hauteur = imagesx($image_source);
$image_source_largeur = imagesy($image_source);
$image_destination_hauteur = imagesx($image_destination);
$image_destination_largeur = imagesy($image_destination);

imagecopyresampled($image_source,$image_destination,0,0,0,0,$image_destination_hauteur,$image_destination_largeur,$image_source_largeur,$image_source_hauteur);