none
Procesamiento de Imagenes en Silverlight RRS feed

  • Pregunta

  • Buenos días, ahora traigo una consulta muy buena.

    Resulta ser que quiero hacer una aplicación para mi hijo (que también funcione para otros niños), se trata básicamente de una herramienta de colorear imagenes para niños de 5 años o menos.

    Básicamente quiero iniciar con la herramienta bote de pintura, en donde cargo una imagen (todavía no sé cómo) en blanco y negro y los niños seleccionan el color de una barra (pan comido) y al hacer clic sobre alguna zona de la imagen, ésta se rellenará con el color que el niño seleccionó.

    Problema:  Se basa únicamente en la carga o procesamiento de la imagen

    1. Cargar la imagen. Si bien es cierto, cargar una imagen no cuesta nada, pero, ¿Cómo la hago vectorial?

    2. ¿Es necesario que la imagen sea vectorial para poder pintar sus áreas al hacer clic sobre alguna zona de ella?

    ¿Será qué alguien me puede ayudar a iniciarme en esta solución? Les prometo que la aplicación será gratuita una vez que la termine :)

    La idea de esto es que yo pueda poner a disposición una serie de imagenes que se distribuyan con la herramienta de forma gratuita, pero que pueda vender packs de otras imagenes. La herramienta la quiero para Windows 8.

    Por favor, ideas, ideas, ideas...

    lunes, 4 de marzo de 2013 13:35

Respuestas

  • Hola Esteban.

    Segun comentas al final, dices que la herramienta la quieres para windows 8, de modo que es posible que silverlight no sea la mejor opcion ya que no esta disponible en las versiones RT que funcionan sobre procesadores ARM.

    Ademas Microsoft ya le ha dado fecha final a silverlight a finales de esta decada y creo que la 5 sera la ultima version.

    No obstante el estilo de programacion viene a ser el mismo para silverlight/wpf/winrt bajo .net y xaml, de modo que con pocas modificaciones se puede compartir codigo.

    en un post que hice sobre silverlight deje la siguietne aplicacion:

    http://www.dgzornoza.com/2010/06/que-es-silverlight_25.html

    que muestra una aplicacion de dibujo sencillita que realice para un concurso (como solo se permitian 10Kb de codigo esta comprimido y con funcionalidad basica) que puede servirte un poco de guia, puedo pasarte el codigo si quires.

    En cuanto a tus preguntas:

    1.- Existen 2 tipo de imagenes, vectoriales y de mapa de bits, una imagen vectorial se puede pasar a mapa de bits pero no de forma inversa (al menos sin un potente algoritmo), generalmente las aplicaciones de dibujo usan unas u otras (algunas permiten usar los 2 tipos pero alguno de ellos flojea mas)

    2.- la imagen puede ser como quieras, como he comentado son 2 tratamientos diferentes y deberas tratarlas de forma diferente, lo que si que es posible es cargar una imagen vectorial y convertirla a imagen de bits tras lo cual la podras modificar al estilo mapa de bits (el problema es que no podras revertirla a una imagen vectorial).

    Deberas de ser tu quien decida si tiene sentido tratar imagenes vectoriales o solo de mapa de bits, dependiendo de ello deberas implementar funciones especificas para cada una.

    por ejemplo con el bote de pintura:

    - imagen vectorial: se puede calcular la posicion del puntero y obtener el path con la forma, tras lo cual se rellena con un fill (algo muy sencillo

    - mapa de bits, se calcula la posicion del puntero y por extrapolacion se pintan todos los bits de su alrededor que cumplan con una cierta tolerancia de color (algo mas complejo)

    Por ultimo solo comentar que aunque uses imagenes de mapas de bits, tu siempre podras establecerla como fondo y usar tus herramientas como imagen vectorial (como si fueran 2 capas), de modo que tienes mas margen de operaciones (es lo que hago en la aplicacion de ejemplo).


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/

    • Marcado como respuesta Esteban Andrade viernes, 15 de marzo de 2013 16:49
    jueves, 7 de marzo de 2013 11:38

Todas las respuestas

  • Hola Esteban.

    Segun comentas al final, dices que la herramienta la quieres para windows 8, de modo que es posible que silverlight no sea la mejor opcion ya que no esta disponible en las versiones RT que funcionan sobre procesadores ARM.

    Ademas Microsoft ya le ha dado fecha final a silverlight a finales de esta decada y creo que la 5 sera la ultima version.

    No obstante el estilo de programacion viene a ser el mismo para silverlight/wpf/winrt bajo .net y xaml, de modo que con pocas modificaciones se puede compartir codigo.

    en un post que hice sobre silverlight deje la siguietne aplicacion:

    http://www.dgzornoza.com/2010/06/que-es-silverlight_25.html

    que muestra una aplicacion de dibujo sencillita que realice para un concurso (como solo se permitian 10Kb de codigo esta comprimido y con funcionalidad basica) que puede servirte un poco de guia, puedo pasarte el codigo si quires.

    En cuanto a tus preguntas:

    1.- Existen 2 tipo de imagenes, vectoriales y de mapa de bits, una imagen vectorial se puede pasar a mapa de bits pero no de forma inversa (al menos sin un potente algoritmo), generalmente las aplicaciones de dibujo usan unas u otras (algunas permiten usar los 2 tipos pero alguno de ellos flojea mas)

    2.- la imagen puede ser como quieras, como he comentado son 2 tratamientos diferentes y deberas tratarlas de forma diferente, lo que si que es posible es cargar una imagen vectorial y convertirla a imagen de bits tras lo cual la podras modificar al estilo mapa de bits (el problema es que no podras revertirla a una imagen vectorial).

    Deberas de ser tu quien decida si tiene sentido tratar imagenes vectoriales o solo de mapa de bits, dependiendo de ello deberas implementar funciones especificas para cada una.

    por ejemplo con el bote de pintura:

    - imagen vectorial: se puede calcular la posicion del puntero y obtener el path con la forma, tras lo cual se rellena con un fill (algo muy sencillo

    - mapa de bits, se calcula la posicion del puntero y por extrapolacion se pintan todos los bits de su alrededor que cumplan con una cierta tolerancia de color (algo mas complejo)

    Por ultimo solo comentar que aunque uses imagenes de mapas de bits, tu siempre podras establecerla como fondo y usar tus herramientas como imagen vectorial (como si fueran 2 capas), de modo que tienes mas margen de operaciones (es lo que hago en la aplicacion de ejemplo).


    Saludos
    David González
    MCP, MCTS
    Visita mi Blog en: http://www.dgzornoza.com/

    • Marcado como respuesta Esteban Andrade viernes, 15 de marzo de 2013 16:49
    jueves, 7 de marzo de 2013 11:38
  • Ademas Microsoft ya le ha dado fecha final a silverlight a finales de esta decada y creo que la 5 sera la ultima version.

    Que quieres decir con esto?
    viernes, 8 de marzo de 2013 10:39