Photo dans un cadre sans redimmensionnement

Eléphant du PHP | 170 Messages

01 avr. 2007, 14:54

Bonjour à tous,
je voudrais sur une page créer un cadre d'une dimension fixe dans lequel je veux inserer une photo. Mais je ne veux pas que cette photo soit redimensionnée au format du cadre.
Comment je dois faire?
merci

Mammouth du PHP | 693 Messages

01 avr. 2007, 15:09

Le plus simple est de dessiner (soi même) le cadre puis de placer la photo au centre du cadre (avec un scipt)

Quelque chose dans ce style :
//ouvre les deux images
$cadre=imagecreatefromjpeg('cadre.jpg');
$photo=imagecreatefromjpeg('photo.jpg');

//Calcule les coorodonée du coin superieur guauche de la photo par rapport au cadre
$top=imagesy($cadre)/2-imagesy($photo)/2;
$left=imagesx($cadre)/2-imagesx($photo)/2;

//Copie la photo dans le cadre
imagecopy($cadre,$photo,$left,$top,0,0,imagesx($photo),imagesy($photo);
Cependant je ne suis pas sur du tout du résultat, il faudra sans doute réajuster.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 avr. 2007, 15:31

Pour ma part, je ne comprend pas bien le problème... Si ta photo est plus grande que le cadre, je ne vois pas comment la faire rentrer sans la redimensionner. Si elle est plus petite que le cadre, je vois pas où est le problème, il suffit de la mettre dedans ? :-s
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 170 Messages

02 avr. 2007, 19:12

Hello Ryle,
effectivement si la photo est plus petite que le cadre je ne touche a rien. Par contre si elle est plus grande je veux qu'elle soit centrer dans le cadre. Je prepare un site d'annonce avec photo.
Merci à Orgerix