Bonjour,

Je suis en train de devenir fou et avant de perdre totalement la tête, je vous demande votre aide

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 :
Destination :

Donc, je dois ajouter des bandes blanches au-dessus et en-dessous de l'image.

J'essaie ceci mais ça ne fonctionne pas :

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
 
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