On 19/09/2005, at 17:28, Rafa García wrote:
¿Como se recogen esas coordenadas en una forma que luego el gd o
imagemagick pueda interpretar?
Pensando en voz alta:
* Crea un objeto donde vas a recoger la información en el SWF
cliente.
Yo diría que un Array, pero es que los Arrays me caen bien :)
* Almacena en el Array cada trazo que haga el usuario. Así por
encima,
(en pseudo pseudo código) la cosa sería más o menos:
// en el cliente, ejemplo para un sólo trazo
onMouseMove
if(ratonPulsado)
miArray.push(coordenadas del ratón)
onHemosTerminadoDePintarLaFirma
servidor.enviar(miArray)
// en el servidor
ristraDePuntos = parseaArrayDeCoordenadas(miArray)
miSVG = convierteRistraDePuntosASVG(ristraDePuntos)
convierteSVGaJPGUsandoImageMagick(miSVG)
* Para pasar de la ristra de puntos a SVG tendrás que hacerte un
convertidor
a mano, pero si te lees la especificación de SVG[1] y miras
algunos ejemplos
verás que no tiene ninguna complicación. SVG no deja de ser un
XML que en
el caso de una firma puedes componer "a mano". Las líneas del
SVG serán del
estilo de:
<path d="L 100 100 L 100 110 L 120 150" stroke="black" stroke-
width="2" />
Donde <path /> es el tipo de objeto que vas a dibujar, 'd' es
la descripción
del objeto (en este caso una serie de comandos 'L', o 'lineto'
seguidos de
las coordenadas de cada punto) y 'stroke' y 'stroke-width' los
atributos
de la línea (una cosa muy tonta, como puedes ver)
Total, que lo más difícil es pasar un Array del SWF al servidor :)
Pos eso. A ver qué tal...
a!e
[1]: http://www.w3.org/TR/SVG/
----------------------------------
Lista ASNativos:asnativos@5dms.com
http://www.5dms.com/listas
----------------------------------