dibujar-texto-imagen-csharp

Vemos o creamos muchas imágenes para obtener información visual. A veces, necesita agregar o dibujar texto en una imagen de tal manera que nadie más pueda modificar ese texto. La marca de agua de imagen es uno de los ejemplos más comunes. Del mismo modo, etiquetar o revisar imágenes también puede requerir dibujar texto. Exploremos los usos adicionales de dibujar texto en imágenes:

Agregar, insertar o dibujar texto con formato en la imagen: instalación de la API de C#

Aspose.Drawing for .NET API es una biblioteca de gráficos 2D que es compatible con el paquete System.Drawing. Admite la representación de rectángulos, curvas, líneas, texto y otros gráficos en las imágenes. No depende de ninguna biblioteca de terceros, por lo que se puede utilizar en cualquier entorno. Por ejemplo, también se puede usar para representar gráficos en Linux o Azure Functions V2 donde no se admite la biblioteca System.Drawing. Puede instalar Aspose.Drawing for .NET API descargándolo desde la sección Descargas, o mediante el siguiente comando de instalación:

PM> Install-Package Aspose.Drawing

Dibuje texto como marca de agua en una imagen existente mediante programación usando C#

La marca de agua de texto en la imagen se usa a menudo para mostrar la propiedad, la afiliación o el propósito de la imagen. Puede agregar o dibujar texto como marca de agua en una imagen existente con los siguientes pasos:

  1. Cargar imagen de entrada existente
  2. Inicializar objeto de clase Graphics
  3. Establecer formato de texto y texto
  4. Dibujar texto
  5. Guardar imagen de salida

El siguiente código muestra cómo dibujar texto como marca de agua en una imagen existente mediante programación usando C#:

// Cargar imagen de entrada existente
Bitmap bitmap = new Bitmap(dataDir + @"Test.png");

// Inicializar objeto de clase Graphics
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));

// Declarar el pincel al especificar el color.
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Establecer fuente de texto
Font arial = new Font("Arial", 20, FontStyle.Regular);

// Establecer texto
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Dibujar texto
graphics.DrawString(text, arial, brush, rectangle);

// Guardar imagen de salida
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Dibuje texto en una nueva imagen desde cero mediante programación en C#

Es posible que deba dibujar algún texto en formato de imagen para diferentes propósitos. Por ejemplo, es posible que desee evitar que otros modifiquen o copien el contenido del texto. Debe seguir los siguientes pasos para dibujar texto en una nueva imagen:

  1. Inicializar nueva imagen desde cero
  2. Inicializar Brush objeto de clase
  3. Establecer estilo de fuente, tamaño, etc.
  4. Dibujar texto on the image
  5. Guardar imagen de salida

El fragmento de código a continuación muestra cómo dibujar texto en una nueva imagen desde cero mediante programación usando el lenguaje C#:

// Inicializar nueva imagen desde cero
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
graphics.Clear(Color.FromKnownColor(KnownColor.White));

// Inicializar objeto de clase Brush
Brush brush = new SolidBrush(Color.FromKnownColor(KnownColor.Black));
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 1);

// Establecer estilo de fuente, tamaño, etc.
Font arial = new Font("Arial", 20, FontStyle.Regular);
string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sapien tellus, mattis et condimentum eget, commodo ut ipsum. Maecenas elit sapien, tempus sit amet mauris sit amet, hendrerit laoreet nisi. Nulla facilisi. Sed commodo, mauris eget porta commodo, nunc tellus volutpat mi, eu auctor diam libero vel neque. Vestibulum nec mattis dui, nec molestie nisl. Etiam in magna felis. Praesent non nulla tortor. Integer nec convallis purus. Fusce vitae mollis mauris. Cras efficitur dui at mi viverra scelerisque. Morbi quis magna elit. Nulla facilisis id ante sit amet fringilla. Sed iaculis consectetur lectus a interdum. Etiam ut sollicitudin lectus, et congue lectus.";
Rectangle rectangle = new Rectangle(100, 100, 800, 600);
graphics.DrawRectangle(pen, rectangle);

// Dibujar texto en la imagen
graphics.DrawString(text, arial, brush, rectangle);

// Guardar imagen de salida
bitmap.Save(RunExamples.GetDataDir() + @"TextFonts\DrawText_out.png");

Conclusión

En este artículo, hemos aprendido cómo agregar o dibujar texto en las imágenes. Puede dibujar marcas de agua de texto en imágenes existentes y nuevas desde cero sin necesidad de instalar ninguna aplicación de terceros. Además, puede procesar muchos formatos de imagen, incluidos JPG, PNG, BMP, Icon, Tiff, etc. La API ofrece varias funciones para procesar dibujos y gráficos según sus requisitos. Puede visitar el Proyecto de ejemplo que hemos diseñado como escaparate de diferentes escenarios. No dude en contactarnos en cualquier momento a través de los Foros de soporte gratuitos en caso de tener alguna inquietud. ¡Salud!

Ver también

Información: Aspose desarrolló recientemente un [Convertidor de texto a GIF] GRATUITO 1.