OVH Cloud OVH Cloud

Comment rogner une image?

1 réponse
Avatar
fpietri-free
Salut,

Quelqu'un sait-il comment "rogner" une image à la manière de photoshop mais
en php?

C'est à dire supprimer des marges de couleurs définies (tou transparent) de
chaque coté.
Par exemple une image de 300*300 ne possede qu'une partie utile de 30*30, le
reste étant blanc, comment rogner cette partie?

Merci d'avance.

PS: désolé si je poste dans le mauvais newsgroup....

1 réponse

Avatar
Guillaume Bouchard
fpietri-free wrote:
Salut,


Salut.

Quelqu'un sait-il comment "rogner" une image à la manière de photoshop mais
en php?


À la manière d'un éditeur d'image ;o)

C'est à dire supprimer des marges de couleurs définies (tou transparent) de
chaque coté.
Par exemple une image de 300*300 ne possede qu'une partie utile de 30*30, le
reste étant blanc, comment rogner cette partie?


Je te propose une solution alorythmique, à toi de la coder (pour la
simple et bonne raison que je ne me rappel plus comment utiliser les
fonctions de GD que je n'utilise jamais et que je n'ai pas envis d'aller
voir surtout que je n'ai pas le temps. Bref :)

La technique consiste à annalyser colone par colone ( de droite, puis de
gauche) puis ligne par ligne si les lignes ou colones sont de la couleur
voulu.
Tu t'arette des que tu rencontres dans une ligne une couleur qui n'est
pas celle voulu, en stockant dans une variable le nombre de ligne à
rogner a droite, gauche, haut et bas.

Puis tu rognes avec un petit calcul simple.

voir www.php.net les fonctions :

imagecreatefrom(jpeg|png) // Recuperer l'ancienne image
getimagesize // obtenir la taille
imagecolorat // recupere la couleur du pixel
imagecopy // copier et garder la partie que tu veux
image(jpeg|png) // sauvegarder la nouvelle image.

--
Guillaume.