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
----------------------------------

Responder a