2010-11-29 6 views
3

Je travaille sur une application web qui doit permettre à l'utilisateur de glisser et déposer ainsi que de faire pivoter une image.Image ou div rotative avec javascript?

Glisser-déposer est résolu avec le glisser-déplacer jQuery UI. Mais comment puis-je faire pivoter une image sur la page? Mes images sont principalement des rectangles de couleur unique. J'ai utilisé div s pour les dessiner sur la page mais comment les faire pivoter?

Il est correct s'ils tournent seulement 22, 5-45-67, 5-90 degrés

Je pense à 3 solutions

  1. Utilisation Toile

    Problème: support IE

  2. l'utilisation div de

    de Proble m: il faut aussi faire tourner la toile

  3. PHP GD

    Cette solution est le seul espoir qui a laissé. Comment cela pourrait-il fonctionner? L'application prérendra (22,5 * x) les versions pivotées de l'image originale. Donc, ils seront prêts chaque fois que l'utilisateur veut faire pivoter une image.

Aidez-nous s'il vous plaît. Toute suggestion appréciée

Répondre

5

Une solution possible est d'utiliser une bibliothèque JavaScript vecteur graphique qui peut utiliser automatiquement une alternative à la toile lorsqu'il est utilisé sur IE.

Raphael est vraiment bon, essayer:

Vous pouvez trouver plus d'informations sur la rotation avec raphael ici:

+0

raphael semble Ok :) Je vais faire un essai:) merci :) –

1

La méthode côté serveur est un peu inutile (toutes les versions de l'image doivent être téléchargées), j'ose dire que vous devriez essayer d'utiliser Flash pour une solution cross-browser et côté client.

+0

:/mon client n'est pas ok avec flash merci pour la suggestion :) –

1

Vous ne pouvez pas manipuler une image directement avec Javascript en dehors de les redimensionner (et cela est techniquement fait avec CSS, pas Javascript ...). La meilleure solution serait d'utiliser Raphaël; il vous permettra de ratatiner, mais aussi glisser et déposer, et il est également construit en utilisant JQuery.

Bien sûr, vous pouvez alternativement utiliser différents états d'image et les utiliser comme des "sprites" pour vos rectangles pivotés, mais vous ne pourrez pas y jouer d'extensibilité. (GD est un mauvais design, ne l'utilisez pas.)

+0

merci :) je vais utiliser la méthode raphael –

Questions connexes