JeuWeb - Crée ton jeu par navigateur
[Script] Manipulation d'image - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Script] Manipulation d'image (/showthread.php?tid=5601)



[Script] Manipulation d'image - Akira777 - 30-07-2011

Bonjour à tous !

D'emblée je ne sais pas si certain d'entre vous en auront besoin mais je le met à disposition car personnellement c'est une des choses que je déteste faire en PHP : Manipuler des images.

Il y a quelques temps je me suis amusé à concevoir une classe PHP très simple d'utilisation pour manipuler les images en PHP

I. Avantages :

- Abstraite, détecte automatiqueme JPG, PNG et GIF
- Possibilité de compresser les images
- Possibilité d'ajouter un effet aux images (noir & blanc, négatif, sépia, ...)
- Redimensionnement de l'image en gardant les proportions
- Redimensionnement fixe (ajoute une couleur de fond si les dimensions de l'image sont 16:9 et que le redimensionnement est 4:3, et vice versa)
- Écrase l'image ou sauvegarde de l'image sous un autre nom
- Possibilité de récupérer le résultat de l'image sous forme de flux, pour l'envoyer sur un autre script
- Entièrement objet

II. Exemples :

Redimensionnement simple

<?php

$image = new ktResizer('sunset.png'); #on charge l'image
$image->resize(640, 480); #on définit les nouvelles dimensions
$image->save('new_sunset.png'); #on sauvegarde l'image sous un autre nom

?>

Redimensionnement avancé

<?php

$image = new ktResizer('beach.jpg');
$image->setFixedSize(TRUE); #on active le redimensionnement fixe
$image->setFixedColor(255, 255, 128); #on définit une couleur de fond
$image->resize(800, 600); #on redimensionne en donnant les dimensions
$image->send(); #on envoi le flux au navigateur

?>

Compression

<?php

$image = new ktResizer('my_house.jpg');
$image->setQuality(2); #on définit un taux de compression (0 fort, 3 faible)
$image->save(); #on sauvegarde l'image en écrasant la source (pas de nouveau nom donné)

?>

III. Téléchargement

La classe est disponible en pièce jointe. Avec une image source d'exemple, ainsi que sa version compressée. C'est du libre, vous pouvez l'utiliser quand vous voulez du moment que ça vous est utile ! Perso, j'adore !

Ps : J'attend vos retours !