entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Añadir texto o imágenes a imagen C#

Lo que quiero hacer es abrir una imagen añadir número con efectos o en su defecto imagenes ya diseñadas colocarlas en cierta posicion y guardar la imagen.

¿Algun ejemplo con el que pueda empezar?

1 Respuesta

3votos

carlossevi Puntos63580

Para la edición de imágenes en C# yo he utilizado la utilidad de ImageMagick. Es un editor de imágenes de línea de comandos con tremendas posibilidades. Yo lo he utilizado invocándolo llamando a la línea de comandos desde C# para hacer rotación, redimensionamiento, montar diferentes capas y componer nuevas imágenes.

Para la insercción de texto en imágenes tienes en esta página una lista de todas las posibilidades disponibles.

Mira a ver si te convence y si necesitas algún ejemplo de código o tienes dudas lo comentas.

0voto

parrison comentado

Me vendria bien un ejemplo gracias.

1voto

carlossevi comentado

Hay dos opciones para el uso de ImageMagick desde C#:

  • Agregar a tu solución el proyecto Magick.NET. Este proyecto ya incluye todo el código de ImageMagick así que no es necesario instalarlo en la máquina que va a ejecutar tu programa. Todas las llamadas a ImageMagick se gestionan a través de esa biblioteca. Tienes un montón de documentación en su página.

  • La otra opción (la que yo he utilizado) es simplemente tener instalado ImageMagick en la máquina y utilizar la función shell() (documentación) para poder ejecutarlo desde C#. Un ejemplo:

    string RutaImageMagick = "C:\ProgramFiles...\turuta\ImageMagick\";
    // Ejemplo de comando:
    string Comando = "convert.exe -negate image.gif output.gif";
    Shell(RutaImageMagick + Comando, AppWinStyle.Hide, true, 10000);

Los parámetros de Shell son:

  • Programa a ejecutar
  • Estilo
  • Esperar o no una respuesta
  • Tiempo de espera

Si tu programa va a hacer un uso intensivo te recomiendo la primera opción, pero la ventaja de la segunda es que puedes tener hechas las pruebas y comandos listas para poder ejecutarse incluso desde fuera de tu programa C# y simplemente las invocas en tiempo de ejecución.

Échale un ojo para ver si te convence y una vez te decidas por alguna de las dos soluciones te podemos facilitar ejemplos más concretos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta