No es demasiado difícil armar una aplicación básica de garabatos con solo html. Dejaré que resuelvas los detalles de prepararlo para la producción.
Estoy usando extjs aquí como un marco de eventos de navegador cruzado, pero puede usar lo que sea que se sienta cómodo (jquery). También estoy usando Raphael para obtener la funcionalidad de dibujo de navegador cruzado.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>TestPage</title>
<script language="javascript" src="raphael-src.js"></script>
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all-debug.js"></script>
<script language="javascript">
scribbler = function (container, width, height) {
this.canvas = Raphael(container, width, height);
this.currentdraw = null;
Ext.get(container).on('mousedown', function(e) {
var el = Ext.get(container);
this.currentdraw = this.canvas.path({ stroke: "black", fill: "none", "stroke-width":4 });
this.currentdraw.moveTo(e.getPageX() - el.getLeft(), e.getPageY() - el.getTop());
}, this);
Ext.get(container).on('mousemove', function(e) {
var el = Ext.get(container);
if (this.currentdraw != null)
{
this.currentdraw.lineTo(e.getPageX() - el.getLeft(), e.getPageY() - el.getTop());
}
}, this);
Ext.get(container).on('mouseup', function(e) {
this.currentdraw = null;
}, this);
}
var scribble;
Ext.onReady(function()
{
scribble = new scribbler("container", 800,600);
}
);
</script>
</head>
<body>
<div id="container" style="position:relative;border:1px solid black;width:640px;height:400px">
</div>
</body>
</html>
Deberá registrar y almacenar las distintas líneas de garabatos en un formulario para enviar. Y asegúrese de que el puntero del mouse sea correcto todo el tiempo (es una barra de texto debajo de IE).
De todos modos, disfrute.
PS. He subido un ejemplo de trabajo que incluye raphael y complete las bibliotecas extjs2 al drop.io (3Mb, 7zip).
PPS. He subido un ejemplo de trabajo que es un control básico (pero bastante completo). Ver inquisitiveturtle.
genial, lo probaré. – carrier
no sería capaz de elaborar sobre la grabación y el almacenamiento de líneas de garabatos, ¿o sí? esto se ve bastante bien para mis necesidades. – carrier
Um sí, eso fue divertido :) Ver el PPS adicional. –