PHPAINT : DESSIN ET FILTRES SUR UNE IMAGE - PROTOTYPE

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 21 sept. 2008 à 11:24
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008 - 1 oct. 2008 à 11:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48011-phpaint-dessin-et-filtres-sur-une-image-prototype

cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
1 oct. 2008 à 11:37
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
cs_nonoox Messages postés 6 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 1 octobre 2008
1 oct. 2008 à 11:24
- 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 !! ++
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
1 oct. 2008 à 09:47
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 :-)
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
29 sept. 2008 à 17:36
moi aussi je le vois...

a++
cs_nonoox Messages postés 6 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 1 octobre 2008
29 sept. 2008 à 15:55
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...
mehdikobra Messages postés 24 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 21 décembre 2009
29 sept. 2008 à 15:45
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
cs_mafmaf Messages postés 1 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 29 septembre 2008
29 sept. 2008 à 12:03
C'est pas qu'on veut pas mettre de note, mais pas de fichier accessible en téléchargement...
cs_nonoox Messages postés 6 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 1 octobre 2008
27 sept. 2008 à 17:06
Aucune note à donner à la source ? Est-ce que tout marche bien chez vous ?
cs_nonoox Messages postés 6 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 1 octobre 2008
22 sept. 2008 à 15:52
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
Eliays Messages postés 67 Date d'inscription samedi 3 juin 2006 Statut Membre Dernière intervention 29 janvier 2009
22 sept. 2008 à 10:12
ou est le fichier zip?
cs_nonoox Messages postés 6 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 1 octobre 2008
21 sept. 2008 à 18:09
@inwebo : Je viens de corriger ce bug, merci.
inwebo Messages postés 380 Date d'inscription lundi 12 novembre 2007 Statut Membre Dernière intervention 23 octobre 2014
21 sept. 2008 à 16:06
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.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 sept. 2008 à 11:49
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.
cs_nonoox Messages postés 6 Date d'inscription dimanche 21 septembre 2008 Statut Membre Dernière intervention 1 octobre 2008
21 sept. 2008 à 11:31
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 !
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 sept. 2008 à 11:24
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
Rejoignez-nous