Miniatures ...

cs_Hector78 Messages postés 62 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 5 mai 2010 - 17 mars 2006 à 15:08
cs_Hector78 Messages postés 62 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 5 mai 2010 - 17 mars 2006 à 18:27
Hello !

Je suis en train d'essayer de faire des miniatures automatiques pour une galerie photo. Mais je ne m'en sors pas, je pense que je ne doit pas être très loin, mais j'obtiens :

Ce qui ne m'aide pas vraiment à afficher mes images ...

Voici le code que j'utilise ci-dessous.

Est-ce que qqun pourrait me dépanner ? Merci pour votre aide.
Hector

$ratio = 100;
// première image
$nomfichier = 'img01.jpg';
$src = imagecreatefromjpeg($nomfichier);
$tableau = @getimagesize($nomfichier);
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
echo "";
// deuxième image
$nomfichier = 'img02.jpg';
$src = imagecreatefromjpeg($nomfichier);
$tableau = @getimagesize($nomfichier);
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
echo "";

7 réponses

n0ne Messages postés 24 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 23 mars 2006
17 mars 2006 à 15:55
Lu,

Essai sa

<?php
$ratio = 100;
// première image
$nomfichier = 'img01.jpg';
$src = imagecreatefromjpeg($nomfichier);
$tableau = @getimagesize($nomfichier);
$im = imagecreatetruecolor(round(($ratio/$tableau[1])*$tableau[0]), $ratio);
imagecopyresampled($im, $src, 0, 0, 0, 0, round(($ratio/$tableau[1])*$tableau[0]), $ratio, $tableau[0], $tableau[1]);
imagejpeg($im, 'miniature.jpg');
echo "";
?>
0
krolenain Messages postés 149 Date d'inscription lundi 7 février 2005 Statut Membre Dernière intervention 6 février 2009 1
17 mars 2006 à 16:02
salut,
heu je vais peut etre dire une bétise, mais il est ou le chemin de ton image?
0
n0ne Messages postés 24 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 23 mars 2006
17 mars 2006 à 16:05
L'image de départ :
$nomfichier = 'img01.jpg';
La miniature :
imagejpeg($im, 'miniature.jpg');

si c'est dans le même dossier y a pas besoin de mettre de chemin.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 mars 2006 à 17:27
Hello,

y a méprise là.

Soit on crée une image, on la sauvegarde et donc oui on peut ensuite la récupérer comme le fait n0ne.
Soit on fait l'image, to on l'affiche directement sans la sauvegarder sur le serveur, sur la même page avec un header approprié! Là, je renvoie à la doc :
http://fr2.php.net/manual/fr/function.imagecreate.php
Qui nous montre par exemple ceci :
<?php
header ("Content-type: image/png");
$im = @imagecreate (100, 50)
   or die ("Impossible d'initialiser la biblioth&#232;que GD");
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 233, 14, 91);
imagestring ($im, 1, 5, 5,  "A Simple Text String", $text_color); 
imagepng ($im);
imagedestroy($im);
?> 

et &#231;a marche pareil pour imagecreatefrom...

Soit on utilise un script de cr&#233;ation sur une page &#224; part, pare exemple : image.php (page &#224; laquelle on peut passer des arguments, comme un nom de fichier par exemple...) et sur la page de d&#233;part, on affiche un truc de ce genre :
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
n0ne Messages postés 24 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 23 mars 2006
17 mars 2006 à 17:33
Oui c'est vrai mais je pence que de sauvegarder la miniature est mieu sa évite des montées en charge du serveur web, biensur il faut faire une meilleur gestion des noms de fichiers pour ne pas avoir de conflit. Mais si vraiment tu ne veux pas sauvegarder les miniatures, oui la méthode de malalam est le bonne.

@+
n0ne
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 mars 2006 à 17:38
Il est clair que dans le cadre d'une galerie, avec des miniatures, il faut créer la miniature à l'upload, et la sauvegarder.
Après, s'il s'agit de créer une image aléatoire, donc chaque fois différente (par exemple, un pictogramme pour éviter le flood sur un formulaire), inutile de la sauvegarder, on la génère et on l'affiche à la volée.
0
cs_Hector78 Messages postés 62 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 5 mai 2010
17 mars 2006 à 18:27
Hello !

Merci pour le code nOne (celui posté à 15h55).
Mais ça ne semble pas fonctionner, j'obtiens une erreur du style :

Warning: imagejpeg(): Unable to open 'miniature.jpg' for writing
0
Rejoignez-nous