[GD] Mettre une image rectangulaire dans un carré
Bonjour,
Je suis en train de devenir fou et avant de perdre totalement la tête, je vous demande votre aide :calim2:
Dans le site que je suis en train de réaliser, les utilisateurs peuvent uploader une photo (généralement rectangulaire). Celle-ci doit être affichée dans carré (271 x 217).
Source : http://www.bonnebouffe.org/divers/image001.png
Destination : http://www.bonnebouffe.org/divers/okimage001.jpg
Donc, je dois ajouter des bandes blanches au-dessus et en-dessous de l'image.
J'essaie ceci mais ça ne fonctionne pas : http://www.bonnebouffe.org/divers/nokimage001.jpg
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
header ("Content-type: image/jpeg");
$img_source = "./image001.png";
$source = imagecreatefrompng("./image001.png");
$destination = imagecreatetruecolor(217, 217);
$blanc = imagecolorallocate($destination, 255, 255, 255);
imagefill($destination,0,0,$blanc);
if($largeur_source > $hauteur_source) {
$largeur_destination = 217;
$hauteur_destination = round($hauteur_source / ($largeur_source / 217),0);
$ySrc = (217 - $hauteur_destination) / 2;
$yDst = $hauteur_destination + $ySrc;
}
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
imagecopyresampled($destination, $source, 0, 0, 0, $ySrc, $largeur_destination, $yDst, $largeur_source, $hauteur_source);
imagepng($destination, 'ok.jpg'); |
Je ne suis pas loin du but mais je ne vois pas ce qui cloche.
Merci d'avance pour votre aide !
Christophe