Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PHPAINT : DESSIN ET FILTRES SUR UNE IMAGE - PROTOTYPE


Information sur la source

Catégorie :Graphique Classé sous : phpaint, dessin, image, traitement image, filtre Niveau : Initié Date de création : 21/09/2008 Date de mise à jour : 03/10/2008 21:40:23 Vu / téléchargé: 2 988 / 180

Note :
Aucune note

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
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

  • Tout est dans le zip !
  • - Sources PHP sur la racine
  • - Sources Javascript dans /js
  • - Images du menu dans /images
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
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

21 septembre 2008 10:29:22 :
Orthographe
21 septembre 2008 10:31:10 :
Titre plus court ;-)
21 septembre 2008 10:33:47 :
Ajout des navigateurs sur lesquels la source a été testée
21 septembre 2008 18:08:47 :
Correction du bug noté par inwebo.
21 septembre 2008 18:20:30 :
Encore des mini-modifs (merci malalam :-) ) : - Utilisation de Prototype pour le repérage du clic selon qu'Internet Explorer est utilisé ou pas - Remplacement d'un 'document.getElementById' oublié par '$', simplement
29 septembre 2008 15:52:56 :
- Tentative pour que les fichiers soient visibles !
03 octobre 2008 21:40:23 :
v 1.0.1.: Bugfix : La rotation ne fonctionnait pas, merci à Yoman64 :-)

Commentaires et avis

signaler à un administrateur
Commentaire de malalam le 21/09/2008 11:24:21 administrateur CS

Hello,

j'ai fait une source similaire (pas encore terminée, mais c'est en cours) :
http://www.phpcs.com/codes/PHP-PHOTOPHOP-PHPDRAW_44762.aspx

Ce que je trouve dommage -mais tu es apparemment un débutant donc pardonnable-, c'est :
- tu utilises prototype, mais pas à fond...il y a bcp de fonctionnalités qui allègeraient ton code
- tu utilises prototype mais ne sépares pas les couches html/js/php
- ton code gagnerait en lisibilité et en souplesse, et donc serait plus facile à faire évoluer, si tu essayais de passer à l'objet

signaler à un administrateur
Commentaire de nonoox le 21/09/2008 11:31:23

Salut Malalam, et merci pour ta réponse :-)

- Des fonctionnalités de Prototype qui seraient utiles à mon code ? Tu as des exemples ?
- Oui, je sais pour la séparation des couches de langage, j'ai essayé de le faire un peu avec contenu_menu.php, mais c'est vrai que dans phpaint.php tout est un peu mélangé :-s

- Oui, l'objet je sais comment faire... Euh, mais qu'est-ce qui pourrait être un objet ? Tu veux dire genre dans phpaint_operation.php (la page appelée par Ajax), faire genre $im->ouvrir(); , $im->appliquer_filtre('flou_gaussien'); , des trucs comme ça ?

Merci beaucoup pour tes commentaires en tout cas !

signaler à un administrateur
Commentaire de malalam le 21/09/2008 11:49:55 administrateur CS

Regarde mon code et tu comprendras ce que j'entends par utilisation de l'objet sur un code tel que le tien.
Pour Prototype, un exemple : pos_curseur.js, avec un document.getElementById(), déjà, mais surtout un hack en fonctiopn du navigateur, alors que Prototype est justement là pour éviter ce genre de hacks.

signaler à un administrateur
Commentaire de inwebo le 21/09/2008 16:06:03

Bonjour,

Lors de l'accès à phppaint, j'ai
Notice: Undefined index: onclick in phpcs_PHPAINT-DESSIN-FILTRES-SUR-IMAGE-PROTOTYPE___Page\phpaint.php on line 121, sur chaques boutons de gauche.

signaler à un administrateur
Commentaire de nonoox le 21/09/2008 18:09:49

@inwebo : Je viens de corriger ce bug, merci.

signaler à un administrateur
Commentaire de Eliays le 22/09/2008 10:12:31

ou est le fichier zip?

signaler à un administrateur
Commentaire de nonoox le 22/09/2008 15:52:12

Par "zip", je voulais dire l'ensemble des fichiers que j'ai donnés. J'ai dit ça parce que quand on doit donner les sources dans le formulaire d'ajout on nous demande un zip

signaler à un administrateur
Commentaire de nonoox le 27/09/2008 17:06:46

Aucune note à donner à la source ? Est-ce que tout marche bien chez vous ?

signaler à un administrateur
Commentaire de mafmaf le 29/09/2008 12:03:10

C'est pas qu'on veut pas mettre de note, mais pas de fichier accessible en téléchargement...

signaler à un administrateur
Commentaire de mehdikobra le 29/09/2008 15:45:39

je te conséy de refaire le upload !! auqu'1 "ZIP" ne parai !!essy une autre fois ! et bon courage ca arrive a tt le monde

signaler à un administrateur
Commentaire de nonoox le 29/09/2008 15:55:56

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

signaler à un administrateur
Commentaire de nicomilville le 29/09/2008 17:36:22

moi aussi je le vois...

a++

signaler à un administrateur
Commentaire de yoman64 le 01/10/2008 09:47:45

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

signaler à un administrateur
Commentaire de nonoox le 01/10/2008 11:24:19

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

signaler à un administrateur
Commentaire de yoman64 le 01/10/2008 11:37:19

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

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

appliquer un filtre gros sur une image [ par pssinjaune ] Salut Salut,J'ai mené quelques recherches sans sucés c'est pourquoi je m'en remet à vous.... on ne sait jamais si quelqu'un a déjà fait ca ^^.Je voudr Filtre pour image avec PHP4 ou PHP5 [ par Mrreivax ] Bonsoir!Voila, je souhaiterais pouvoir appliquer un filtre à une image.Par exemple, j'ai une image en niveau de gris, et j'aimerais, avec PHP, lui app comparer [ par jnbdzjnbdz ] Bonjour, je me demandais comment comparer le nom de fichiers image (jpg|jpeg|gif|png) avec le nom de d'autres fichiers image dans un autre dossier app Librairie GD et perspective [ par MatiZ ] 'lutJe m'interesse un peu beaucoup à la librairie GD en ce moment et j'aurais voulu créer une perspective d'une image, mais je n'ai rien trouver. Donc lien image [ par BTAJV ] Bonjour voila plusrier jour que je cherche un script, je vai vous expliquer j'aimerai pouvoir afficher une image et quand on clique dessus sa en ouvre pb d'affichage d'image dans formulaire ajout d'image [ par frenchyie ] HELP !!! Salut à tous,Voila, j'ai comme qui dirait un soucis...j'ai un formulaire pour inserer une image à ma base, pour l'afficher dans ma page, coloriser à la volée [ par testetrtr ] bonjour à tous. Je cherche une fonction qui me permettrait de changer une couleur dans une image automatiquement. c'est pour créer un générateur de bl je souhaite pouvoir naviguer sur une image [ par craso ] Bonjour tout le monde,j'ai une grande image et j'ai fait en sorte qu'on en voit qu'une partie (200*200)-qu'on va appeler l'apercu, avec la fonction "i Galerie image et pseudo frame [ par anonimwork ] Bonjour, je débute avec un grand D dans le php. J'ai créé un menu gauche qui fait changer mon contenu sur la droite avec des includes sans trop de pro transparence d'une image php [ par craso ] Bonsoir tout le monde, je travaille sur un il y a une fleche placée au centre de l'image, et lorsque l'on clique sur cet input, la fleche pointe en d


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,780 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.