Phpaint : dessin et filtres sur une image - prototype

Soyez le premier à donner votre avis sur cette source.

Vue 6 035 fois - Téléchargée 448 fois

Description

PHPaint est une source permettant d'effectuer des traitements de base sur des images situées sur le même répertoire que la source :
- Création, ouverture ou upload de l'image
- Fonctions basiques de dessin : ligne, cercle, rectangle de la couleur désirée, gomme
- Filtres les plus courants : luminosité, flou gaussien, etc.
- Rotation, modification des dimensions
- Fonctionnalité de zoom

Il est ensuite possible d'enregistrer l'image, qui sera sauvegardée sur le serveur

Source / Exemple :


Tout est dans le zip ! 
- Sources PHP sur la racine
- Sources Javascript dans /js
- Images du menu dans /images

Conclusion :


PHPaint est une source écrite en PHP/Javascript et s'appuyant sur Ajax avec le framework Prototype. Afin de réaliser les traitements, une page phpaint_operation.php est appelée via Ajax. Cette page crée une image temporaire reflétant les traitements souhaités. Les images temporaires seront supprimées lorsque l'utilisateur souhaitera fermer l'image.
Le contenu du menu est situé dans un fichier contenu_menu.php, séparé, ce qui permettra de le modifier si besoin.

Il s'agit de ma première source sur codes-sources. Toute critique constuctive sera bienvenue, ainsi que les suggestions d'amélioration ! :-)

Testé sur :
- Microsoft Internet Explorer 7
- Mozilla Firefox 3.0.1
- Opera 9.60 Beta

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
592
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2008

Salut,
Si, mais on peut précharger l'image avec du javascript avant l'affichage, enfin sur un de mes sites le javascript préload avec un imgPreload new Image(); imgPreload.src "toto.png"; et tu l'affiche qu'une fois chargée. Ça évite les clignotements pour les mouseover et pour les défilements d'images dans mon cas.

Peut être que je me trompe, mais je suis persuadé que c'est possible parce que google me retourne 88 900 résultats pour preload image javascript :P

Sinon mes suggestions sont à prendre avec des pincettes, je n'ai pas du tout réfléchie à la quantité de travail qu'elles représentent :o
Messages postés
6
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
1 octobre 2008

- Les clignotements désagréables sont "obligatoires" car, forcément, une nouvelle image est chargée à chaque modification, il faut bien qu'elle se charge à un moment non ?
- Oui, j'ai pensé à un truc du genre "Annuler/Répéter", mais comme je me suis un peu embrouillé là-dedans j'ai préféré ne pas le faire... Mais je regarderai cette fin de semaine si je peux travailler sur ça...
- Ah, pour moi non plus la rotation ne marchait pas, mais je pensais que c'était une limitation du serveur sur lequel je testais la source... Je regarde ça.
- Bonne idée pour le stockage des fichiers temporaires, je vois ça aussi !
- Et je réfléchis sur les sliders

Merci pour tes suggestions pertinentes !! ++
Messages postés
592
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2008

Moi aussi je vois le zip, faudrait penser à se sortir la tête du c** et chercher un peu par soit même ! Et je suggère à mehdikobra de lire les règlements, pas de langage SMS :-/

J'aime bien ta source, j'ai eu beaucoup de plaisir à dessiner des champs avec des signes extra terrestres à l'aide de la fonction mettre en relief :)

Quelques petites suggestions toutefois:
- Précharger les images avant de les afficher: Ça éviterait un clignotement désagréable à chaque modification.

- Puisque tu gardes tous les fichiers temporaires des modifications, pourquoi ne pas ajouter une fonction "undo" ou "annuler un changement" ?

- Je sais pas si je m'y suis mal pris, mais chez moi la rotation ne fonctionne pas.

- Peut être stocker les fichiers temporaires un peu plus proprement. Du genre:
/tmp/session_id/image 1,2,3,4,5,6
Comme ça un dossier par session dans un sous dossier tmp/, ça fait moins "bordel"

- Peut être utiliser des "slider" ou "scrollbar" pour ajuster la luminosité/contraste plutôt que de demander une valeur avec des input

Je n'ai pas regardé le code du tout, seulement le résultat alors je vais m'arrêter là :P

Bonne continuation dans ton projet :-)
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
37
moi aussi je le vois...

a++
Messages postés
6
Date d'inscription
dimanche 21 septembre 2008
Statut
Membre
Dernière intervention
1 octobre 2008

Bin, en dessous des sections "Source" et "Conclusion", vous ne voyez pas de section "Fichier zip" avec un lien "Télécharger le zip" en dessous ? Moi je le vois, même si je ne suis pas connecté en tant que membre...
Afficher les 15 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.