Convertir un String a imagen C# – Ejemplo

Holaaaa!

Hoy ando trabajando con imagenes! me toco que crear una imagen a partir de un texto. Encontre varias formas creando primero un Memory Stream con mi texto y luego creando la imagen, pero yo quiero convertir un texto plano y  no me servia porque no tenia el formato adecuado. Luego encontre una solucion muy bonita! usando Graphics de System.Drawing 🙂

Esta clase te permite crear un lienzo e ir dibujando y agregando las propiedades que uno quiera al texto! les dejare el pequeño ejemplo que hice! la fuente de donde lo saque fue aqui :

https://www.aspsnippets.com/Articles/ASPNet-Convert-Text-String-to-Image-using-C-and-VBNet.aspx

Codigo:

Este es el metodo que recibe un string y lo convierte en imagen, lo comente en ingles para mantener el estandar! jaja 🙂 Perdonen mi mal ingles! 😀

public void CreateImageFromString(string strImage)
{

string text = strImage;
//create new image
Bitmap bitmap = new Bitmap(1, 1);
//Properties string to draw
Font font = new Font(“Arial”, 25, FontStyle.Regular, GraphicsUnit.Pixel);
Graphics graphics = Graphics.FromImage(bitmap);
//properties new image
int width = (int)graphics.MeasureString(text, font).Width;
int height = (int)graphics.MeasureString(text, font).Height;
bitmap = new Bitmap(bitmap, new Size(width, height));
//add text to image
graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.White);
//graphics.SmoothingMode = SmoothingMode.AntiAlias;
//graphics.TextRenderingHint = TextRenderingHint.AntiAlias;
graphics.DrawString(text, font, new SolidBrush(Color.Coral), 0, 0);
//execute pending graphics
graphics.Flush();
//release resources used by graphics
graphics.Dispose();
//save the image
bitmap.Save(“C:\\prueba.png”, System.Drawing.Imaging.ImageFormat.Png);

//do something with image

}

Y ahora solo queda llamar este metodo -> mandarle el string que uno quiera -> y hacer lo que uno quiera con la imagen! 🙂

string strImage = “hola mundo”;
CreateImageFromString(strImage);

El Resultado: simple! 🙂

prueba

Espero les pueda servir!

Saludos!

Anuncios