Editeur d'image en JS (sisi...) TERMINE !!

Editeur d'image en JS (sisi...) TERMINE !! - HTML/CSS - Programmation

Marsh Posté le 01-02-2004 à 00:00:38    

Voilà le plan : faire un outil de redimmensionnement d'image, crop d'image etc... en JS interfacé avec PHP.
 
Première pierre à l'édifice :
 
http://www.z-art.org/test6/index-image.html
 
 
Compatible pour le moment :
 
IE 5.5+ (testé).
Mozilla 1+ (testé aussi).
Opera 7+
 
Testez le chez vous SVP.
 
UPDATED (3) :
 
- Bug corrigé avec IE + différentes améliorations.  
- XHTML 1.1 compliant.
- testé sur Opera.
- Redimensionnement opérationnel !
 
- Supperposition d'images opérationnel !
 
 [:yaisse2]


Message édité par Hermes le Messager le 11-02-2004 à 23:14:26
Reply

Marsh Posté le 01-02-2004 à 00:00:38   

Reply

Marsh Posté le 01-02-2004 à 00:16:33    

bon, ben [:drapo]
(Faudra que j'apprenne un peu mieux le JS un jour ou l'autre)

Reply

Marsh Posté le 01-02-2004 à 00:18:24    

Le truc, c'est que je vais me débrouiller pour que cet éditeur fonctionne même si le JS est désactivé (à la manière de mon éditeur de texte).
La partie graphique facilitera les choses mais NE SERA JAMAIS indispensable.

Reply

Marsh Posté le 01-02-2004 à 01:21:45    

Mais ou s'arretera-t-il ?!?!?!
 
:D :D


Message édité par cerel le 01-02-2004 à 01:22:04
Reply

Marsh Posté le 02-02-2004 à 12:45:29    

!! UPDATED !!

Reply

Marsh Posté le 02-02-2004 à 13:04:53    

C'est sensé faire quoi ?

Reply

Marsh Posté le 02-02-2004 à 13:07:46    

Kristoph a écrit :

C'est sensé faire quoi ?


 
Sélectionner un bout d'une image pour pouvoir cropper une image dans une interface d'admin et éviter ainsi au client d'utiliser un logiciel tiers pour travailler ses images.
 
C'est une première pierre de l'éditeur d'image que je prépare. Le but est de rendre un client totalement autonome avec un simple appareil photo numérique et son site dynamique. Quand tu vas dans un cyber café, tu vas pas installer ton éditeur d'image...  :D

Reply

Marsh Posté le 02-02-2004 à 13:10:53    

Si c'est juste la partie de selection alors ça marche vraiment bien !
 
Juste une petite remarque : quand tu dessine le rectangle de selection, tu ne peux tracer un rectangle que de haut gauche vers bas droite et pas l'inverse.

Reply

Marsh Posté le 02-02-2004 à 13:13:50    

drapo

Reply

Marsh Posté le 02-02-2004 à 13:22:39    

si on sort trop vite de l'image le rectangle est pas mis a jour correctement, ca gene pour selectionner un coin de l'image

Reply

Marsh Posté le 02-02-2004 à 13:22:39   

Reply

Marsh Posté le 02-02-2004 à 13:26:49    

chrisbk a écrit :

si on sort trop vite de l'image le rectangle est pas mis a jour correctement, ca gene pour selectionner un coin de l'image


 
Voui, je sais. Je travaille sur ce problème justement. ;)

Reply

Marsh Posté le 02-02-2004 à 13:28:35    

Kristoph a écrit :

Si c'est juste la partie de selection alors ça marche vraiment bien !
 
Juste une petite remarque : quand tu dessine le rectangle de selection, tu ne peux tracer un rectangle que de haut gauche vers bas droite et pas l'inverse.


 
Va dire ça à Bilou. IE refuse tout width ou height négatif pour un div au niveau javascript.   :fou:

Reply

Marsh Posté le 02-02-2004 à 13:29:16    

Hermes le Messager a écrit :


 
Va dire ça à Bilou. IE refuse tout width ou height négatif pour un div au niveau javascript.   :fou:  


 
ben change ta facon de dessiner ton rectangle ?

Reply

Marsh Posté le 02-02-2004 à 13:32:49    

chrisbk a écrit :


 
ben change ta facon de dessiner ton rectangle ?
 


 
Utiliser le border d'un div reste de loin la meilleure méthode. ça évite tout raffraichissement du div de support. Et puis, je ne pense pas que ce soit très gênant.

Reply

Marsh Posté le 02-02-2004 à 13:34:25    

Hermes le Messager a écrit :


 
Utiliser le border d'un div reste de loin la meilleure méthode. ça évite tout raffraichissement du div de support. Et puis, je ne pense pas que ce soit très gênant.  


 
si, si tu veux selectionner une portion partant d'un bord gauche de ton image
 
Tu sais que j'y connais queud en JS/html/machin :D par contre, ta div, tu veux pas la changer en fonction des coordonnees ? (genre dessiner de curseur souris a point cliqué ou inversement en fonction des coordonnées ?)


Message édité par chrisbk le 02-02-2004 à 13:34:33
Reply

Marsh Posté le 02-02-2004 à 13:37:11    

chrisbk a écrit :


 
si, si tu veux selectionner une portion partant d'un bord gauche de ton image
 
Tu sais que j'y connais queud en JS/html/machin :D par contre, ta div, tu veux pas la changer en fonction des coordonnees ? (genre dessiner de curseur souris a point cliqué ou inversement en fonction des coordonnées ?)


 
humm...
 
Si ce doit être possible en tester les coordonnées du pointeur et en décrétant que le premier point cliqué devient le deuxième point.  :whistle:  
 
Vous pensez que c'est réellement utile ?  :??:  

Reply

Marsh Posté le 02-02-2004 à 13:38:20    

Hermes le Messager a écrit :


 
humm...
 
Si ce doit être possible en tester les coordonnées du pointeur et en décrétant que le premier point cliqué devient le deuxième point.  :whistle:  
 
Vous pensez que c'est réellement utile ?  :??:  
 


 
franchement ouais :o ca fait plus serieux, et ca doit pas prendre bpc de ligne de code.  
 
le bout en gras est un peu faux, tu peux pas t'en tirer comme ca, fo que tu passes ca pour les deux coordonnées(x et y)
 

Reply

Marsh Posté le 02-02-2004 à 13:40:26    

chrisbk a écrit :


 
franchement ouais :o ca fait plus serieux, et ca doit pas prendre bpc de ligne de code.  
 
le bout en gras est un peu faux, tu peux pas t'en tirer comme ca, fo que tu passes ca pour les deux coordonnées(x et y)
 
 


 
Je vais me pencher sur la question.  :jap:  Merci pour les remarques.

Reply

Marsh Posté le 02-02-2004 à 15:41:50    

chrisbk a écrit :

si on sort trop vite de l'image le rectangle est pas mis a jour correctement, ca gene pour selectionner un coin de l'image


 
Ce premier point est rêglé.
 
Je passe au suivant, pouvoir sélectionner à l'envers.  :sol:

Reply

Marsh Posté le 02-02-2004 à 18:19:41    

Ok, j'ai trouvé l'algo, mais j'hésite à le mettre en place. Je ne vois pas tellement ce que ça apporte en fait. C'est sûr, c'est un peu plus confortable, mais bon...  
 
De plus, ça va quand même énormément compliquer le code en raison déjà du fait de l'interprêtation un peu différente d'IE et de Moz, sachant que pour établir la sélection, je place la bordure légèrement à l'extérieur d'un PX pour ne pas masquer ce qu'il y a dessous.  
 
Bref, c'est compliqué pour une feature pas indispensable.
 
On verra plus tard.

Reply

Marsh Posté le 02-02-2004 à 18:22:24    

L'algo est juste une série de min max sur les valeurs. Je vois pas la difficultée.

Reply

Marsh Posté le 02-02-2004 à 18:25:23    

Kristoph a écrit :

L'algo est juste une série de min max sur les valeurs. Je vois pas la difficultée.


 
Oui, mais c'est pour l'application que c'est plus compliqué. Au niveau du div de sélection, il faut suivant le navigateur tricher pour gagner un px à gauche et/ou en haut suivant le cas. C'est la merde. Je ne rentre pas trop dans les détails, mais c'est réellement compliqué.
L'idéal serait d'avoir le curseur à l'emplacement exact du coin gauche/haut du div de sélection, mais si on fait ça, le div de sélection ne s'arrête plus au bord étant donné que ce div de sélection est compris dans le div conteneur etc... etc... Je continue ?  [:totozzz]

Reply

Marsh Posté le 02-02-2004 à 18:27:39    

Mais bon, si tu te sens de continuer. [:ddr555]
 
Tu pourras en profiter pour rêgler le problème avec Opera.

Reply

Marsh Posté le 02-02-2004 à 18:37:19    

J'ai un joli bug, je fais un screenshot?

Reply

Marsh Posté le 02-02-2004 à 18:54:48    

gizmo a écrit :

J'ai un joli bug, je fais un screenshot?


 
Avec Opera ? Volontier .  :)

Reply

Marsh Posté le 02-02-2004 à 18:59:16    

http://olivier.hubaut.info/bug.jpg

Reply

Marsh Posté le 02-02-2004 à 19:11:38    

[:ddr555]
 
J'ai le même problème chez moi avec Opera. ;)
 
Je travaille dessus d'arrache pied, mais c'est pas simple.
 
Si tu veux m'aider, dis moi comment connaitre la position d'un div en absolute (la position en absolute sur l'écran, PAS le div) avec ce niouff d'opera. [:ddr555]
 
Il y a deux problèmes. Celui que tu montres peut se résoudre assez facilement. Il est lié au fait que le curseur est DANS le div de sélection et que le div de sélection est inclu dans le div "d'image" qui réagit en cas de onmouseover. ;)
 
C'est pour l'autre problème que j'ai plus de difficulté, parce qu'opera renvoie un résultat relatif en fonction du div conteneur avec document.getElementById('divimage').offsetLeft alors qu'il renvoie un résultat en absolute avec document.getElementById('divimage').offsetTop.
 
C'est bel et bien un bug d'opéra on dirait... :/

Reply

Marsh Posté le 02-02-2004 à 19:14:58    

La position en relative m'intéresse aussi et peut également résoudre ce deuxième problème ;)

Reply

Marsh Posté le 02-02-2004 à 19:18:13    

pkoi c'est a chaque fois le bronx pareil pour faire un truc portable d'un browser a un autre ? Meme faire du C++ portable parait plus simple


Message édité par chrisbk le 02-02-2004 à 19:18:26
Reply

Marsh Posté le 02-02-2004 à 19:20:23    

chrisbk a écrit :

pkoi c'est a chaque fois le bronx pareil pour faire un truc portable d'un browser a un autre ? Meme faire du C++ portable parait plus simple


 
Et encore, dans ce cas précis, les différences entre IE et Mozilla étaient minimes [:ddr555]
 
ça a été une autre paire de manche avec mon éditeur bb-code like avec la prévisualisation intégrée. [:ddr555]

Reply

Marsh Posté le 02-02-2004 à 21:02:54    

Bon, j'ai rêglé le problème avec Opera. [:ddr555]
 
Tu peux retester Gizmo :D
 
Maintenant, je commence la partie pour redimensionner l'image derrière.

Reply

Marsh Posté le 02-02-2004 à 21:04:32    

nickel :jap:

Reply

Marsh Posté le 02-02-2004 à 21:51:45    

hermes le messager a écrit :


 
Oui, mais c'est pour l'application que c'est plus compliqué. Au niveau du div de sélection, il faut suivant le navigateur tricher pour gagner un px à gauche et/ou en haut suivant le cas. C'est la merde. Je ne rentre pas trop dans les détails, mais c'est réellement compliqué.
L'idéal serait d'avoir le curseur à l'emplacement exact du coin gauche/haut du div de sélection, mais si on fait ça, le div de sélection ne s'arrête plus au bord étant donné que ce div de sélection est compris dans le div conteneur etc... etc... Je continue ?  [:totozzz]  


 
dsl, je ne vois vraiment pas c'est quoi le problème. Ce que je demande est vraiment un truc tout simple en fait. Si tu veux qu'on en parle :D

Reply

Marsh Posté le 02-02-2004 à 22:11:33    

chapeau :jap:, j'achète (c'est combien ?)

Reply

Marsh Posté le 02-02-2004 à 22:55:20    

Merci pour les compliments, mais c'est loin d'être terminé.
 
J'en suis qu'à la recherche fondamentale là... [:ddr555]
 
Il faut que je fasse le redimensionnement d'image maintenant.
 
Si vous avez d'autres idées de choses réellement utiles, n'hésitez pas. (Sauf en ce qui concerne le dessin. Il est impossible de dessiner quoi que ce soit en JS à moins d'utiliser une table, mais là, pour une image de 400px sur 300px, on aurait 40 000 cellules [:ddr555] et ensuite, je vous explique pas la panique pour sérialiser tout ça et traiter le truc avec PHP en dessinant point par point).

Reply

Marsh Posté le 02-02-2004 à 23:14:26    

si tu veux un coup de main cote php ... ;)

Reply

Marsh Posté le 02-02-2004 à 23:16:45    

karamilo a écrit :

si tu veux un coup de main cote php ... ;)


 
C'est gentil, mais je pense pouvoir y arriver  :D  

Reply

Marsh Posté le 03-02-2004 à 00:42:01    

bin le truc réellement utile qui me viens à l'esprit serit de pouvoir ensuite ajouter du texte et en choisir le positionnement avec la même méthode
 
comme ça tu peux dériver ton truc vers un éditeur de bouton en ligne ou bien ajouter des copyright facilement sur des photos

Reply

Marsh Posté le 03-02-2004 à 00:46:36    

Sh@rdar a écrit :

bin le truc réellement utile qui me viens à l'esprit serit de pouvoir ensuite ajouter du texte et en choisir le positionnement avec la même méthode
 
comme ça tu peux dériver ton truc vers un éditeur de bouton en ligne ou bien ajouter des copyright facilement sur des photos


 
Pas dur à faire. Le seul hic, c'est que si on pourra choisir le positionnement sans difficulté, on ne pourra pas avoir exactement le même résultat au niveau apparence du texte entre JS et PHP. PHP va incruster "graphiquement" le texte tandis que celui présent en JS ne sera que du texte en HTML, donc non graphique. Une solution serait de reproduire l'alphabet sous forme d'image (gif transparent) et de les placer pour être sûr d'avoir le même résultat. Il faut que je creuse cette idée...  :D

Reply

Marsh Posté le 03-02-2004 à 00:49:50    

impressionnant !
ça me fait pleurer de voir ce que vous êtes tous capables de faire avec le web alors que j'arrive à peine à afficher un Hello World :sweat:
(et même pas W3C Compliant en plus [:sisicaivrai])


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed