Manière la plus facile de “tirer” des lignes simples sur une image avec jQuery et d'économiser sur les Rails de DB?
J'aimerais dessiner des lignes sur une image. Essentiellement permettre à l'utilisateur de dessiner un chemin pour les sentiers de montagne qu'ils aiment.
1) est ce que quelqu'un connait un bon simple bibliothèque pour dessiner des lignes de base?
2) Après que l'utilisateur dessine un tas de lignes sur une image, ce serait le meilleur moyen pour enregistrer les données dans la base de données?
- Pas une bibliothèque bien 😉 scribblemaps.com/create
- Vous serez en mesure d'utiliser canvas (html5) ?
- Oui, à l'aide de la toile est fine.
Vous devez vous connecter pour publier un commentaire.
Le dessin des lignes
Vous pouvez facilement superposer les éléments d'une image afin que l'utilisateur tire sur l'image.
Aussi, juste pour le fun, mais avez-vous vu
SVG-edit (démo)?
Enregistrement de la ligne de données
Le SketchPad script ci-dessus à condition tirée des données en JSON qui peuvent être enregistrés au format texte brut dans la base de données. La même chose peut être fait sur les objets de PaperJS. Voici un JSFiddle exemple avec PaperJS (code) et ici avec une image comme arrière-plan.
Voici une solution rapide à l'aide de l'élément canvas et régulière js (pas de bibliothèques) qui devrait vous aider à obtenir commencé.
Ajouter un élément canvas à votre page html.
Ajouter du javascript à attirer votre image sur la toile. Il écoutera pour les clics, et de tracer les lignes que l'utilisateur clique.
Rendu compte que j'ai oublié de répondre à la deuxième moitié de la question, à propos de l'enregistrement de l'image à l'un des Rails de DB. C'est plus difficile de répondre, car cela dépend de ce que vous voulez faire avec les données qui en résultent. Si vous voulez juste de l'image finale, je vous suggère de sauvegarder l'image dans un système de fichiers (j'utilise S3 pour stocker l'ensemble de mes images). Il y a une discussion sur la façon de faire déjà sur StackOverflow: Capture Canvas HTML gif/jpg/png/pdf?
Si vous avez besoin de manipuler le chemin tracé, je veux sauver les points de données individuels ainsi qu'une référence à l'image sous-jacente. Envoyer les points de données de retour à votre serveur Rails via ajax, ainsi que l'url de votre image. Votre table de base de données peut alors ressembler à ceci:
html5 canvas est la seule chose que je sais qui vous permettra de le faire. Voici un excellent article sur elle: http://diveintohtml5.info/canvas.html