Alguien sabe cómo se puede hacer esto? ¿Usaría un objeto de lienzo, svg, jQuery, etc.?
Alguien sabe cómo se puede hacer esto? ¿Usaría un objeto de lienzo, svg, jQuery, etc.?
Respuestas:
Aquí hay otra versión basada en lienzo con curvas de ancho variable (según la velocidad de dibujo): demostración en http://szimek.github.io/signature_pad y código en https://github.com/szimek/signature_pad .
Un elemento de lienzo con algo de JavaScript funcionaría muy bien.
De hecho, Signature Pad (un complemento jQuery) ya lo tiene implementado.
Aquí hay una versión rápidamente pirateada de esto usando SVG que acabo de hacer. Funciona bien para mí en mi iPhone. También funciona en un navegador de escritorio utilizando eventos normales del mouse.
Quizás los mejores dos técnicos de navegador para esto son Canvas, con Flash como respaldo.
Intentamos VML en IE como respaldo para Canvas, pero fue mucho más lento que Flash. SVG fue más lento que todo el resto.
Con jSignature ( http://willowsystems.github.com/jSignature/ ) utilizamos Canvas como primario, con respaldo al emulador de Canvas basado en Flash (FlashCanvas) para IE8 y menos. Yo diría que funcionó muy bien para nosotros.
Las opciones ya enumeradas son muy buenas, sin embargo, aquí hay algunas más sobre este tema que he investigado y encontrado.
1) http://perfectionkills.com/exploring-canvas-drawing-techniques/
2) http://mcc.id.au/2010/signature.html
3) https://zipso.net/a-simple-touchscreen -sketchpad-using-javascript-and-html5 /
Y como siempre es posible que desee guardar el lienzo en la imagen:
http://www.html5canvastutorials.com/advanced/html5-canvas-save-drawing-as-an-image/
buena suerte y feliz fichaje
Otro campo de firma de OpenSource es https://github.com/applicius/jquery.signfield/ , plugin jQuery registrado usando Sketch.js.