création d'une image dynamique téléchargeable par le client - PHP - Programmation
Marsh Posté le 25-10-2004 à 23:21:16
1/ tu crees une nouvelle image a partir de celle existante
2/ tu la resize
3/ tu l'envoie au client avec les headers qui vont bien
Marsh Posté le 25-10-2004 à 23:21:31
http://fr.php.net/manual/fr/ref.image.php
Marsh Posté le 26-10-2004 à 00:10:24
Voici ce que j'ai essayé mais j'ai encore des soucis.
La librairie est installé normalement installé.
Voici le code de la page qui génère l'image dynamique :
<?php
header("Content-type: image/jpeg" );
$pic = "Photo070-sat.jpg";
$width=100;
$im = imagecreatefromjpeg($pic);
$px = (imagesx($im) - 7.5 * strlen($string)) / 2;
$old_x=imageSX($im);
$old_y=imageSY($im);
$new_w=(int)($width);
if (($new_w<=0) or ($new_w>$old_x)) {
$new_w=$old_x;
}
$new_h=($old_x*($new_w/$old_x));
if ($old_x > $old_y) {
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y) {
$thumb_w=$new_w;
$thumb_h=$new_h;
}
$thumb=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresized($thumb,$im,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
imagejpeg($thumb,"",90);
imagedestroy($thumb);
?>
Je fais l'appel de cette image dans une page html en faisant un <img src="image-dyn.php">
Où est ce que je me trompe ??
Marsh Posté le 26-10-2004 à 00:21:54
Ca marche.
Merci KangOl pour ton aide.
Voici le code corrigé de la page de création de l'image dynamique (image-dyn.php)
<?php
header('Content-type: image/jpeg');
$pic = "Photo070-sat.jpg";
$width=300;
$im = imagecreatefromjpeg($pic);
// $orange = imagecolorallocate($im, 220, 210, 60);
// $px = (imagesx($im) - 7.5 * strlen($string)) / 2;
$old_x=imageSX($im);
$old_y=imageSY($im);
$new_w=(int)($width);
if (($new_w<=0) or ($new_w>$old_x)) {
$new_w=$old_x;
}
$new_h=($old_x*($new_w/$old_x));
if ($old_x > $old_y) {
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y) {
$thumb_w=$new_w;
$thumb_h=$new_h;
}
$thumb=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresized($thumb,$im,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
imagejpeg($thumb,"",90);
imagedestroy($thumb);
?>
Pour afficher cette image, créer une page html normal et appelez de la manière suivante : <img src="image-dyn.php">
Marsh Posté le 25-10-2004 à 23:18:52
Bonjour à tous
J'aimerais arrivé à créer une image dynamique que le visiteur puisse enregistrée sur son ordinateur.
J'ai de grandes images que je voudrais distribuer à de différentes tailles. Pour une question de volume (place disque), je ne peux pas me permettre d'avoir une image par taille d'image proposée.
Je pense qu'il y a deux parties au script :
- la création de l'image dynamique
- son affichage
Est ce que quelqu'un aurait un bout de script qui irait dans ce sens ?