begin process at 2012 02 12 19:15:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > PHPAINT : DESSIN ET FILTRES SUR UNE IMAGE - PROTOTYPE

PHPAINT : DESSIN ET FILTRES SUR UNE IMAGE - PROTOTYPE


 Information sur la source

Note :
Aucune note
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é :4 477 / 243

Auteur : nonoox

Ecrire un message privé
Site perso
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

Les Membres Club peuvent 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 :-)

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GESTIONNAIRE DE NEWS BASIQUE AVEC UPLOAD D'IMAGES par cod57
Source avec Zip Source avec une capture UPLOADEUR DE FICHIERS MULTIPLES V1 par cod57
CLASS GALERIE PHOTO par Xiryl
CRÉER UNE IMAGE À PARTIR DU TEXTE par dilar
Source avec Zip Source avec une capture [PHP 5.1] PHOTOPHOP (PHPDRAW 2) par malalam

Commentaires et avis

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

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 !

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.

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.

Commentaire de nonoox le 21/09/2008 18:09:49

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

Commentaire de Eliays le 22/09/2008 10:12:31

ou est le fichier zip?

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

Commentaire de nonoox le 27/09/2008 17:06:46

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

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

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

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

Commentaire de nicomilville le 29/09/2008 17:36:22

moi aussi je le vois...

a++

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

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

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

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,541 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales