Escribir en Imagen (Part II)

12/01/2007 - 22:09 por Pintamono | Informe spam
Logré colocar texto en una imagen gracias a un articulo que encontre acá:
http://www.bobpowell.net/modifyImage.htm

El problema que tengo ahora es que si bien la pagina da los resultados
esperados hay algo que no me gusta y es que la imagen la graba en el disco..

Esto es lo que estoy haciendo:


protected System.Web.UI.WebControls.Image CuadroImagen;

CuadroImagen.Visible=true;
System.Drawing.Image i =
System.Drawing.Image.FromFile("d:\\imagen\\untitled.jpg"); // imagen
original
Graphics g=Graphics.FromImage(i);

// desde acá comienzo a colocar el texto en la imagen a modificar

g.DrawString("531",new
Font("Arial",11,FontStyle.Bold,GraphicsUnit.Point),Brushes.Black,new
RectangleF(45,84,94,25));
g.DrawString("96300",new
Font("Arial",11,FontStyle.Bold,GraphicsUnit.Point),Brushes.Black,new
RectangleF(45,115,94,25));
g.DrawString(DateTime.Now.ToShortDateString(),new
Font("Arial",11,FontStyle.Bold,GraphicsUnit.Point),Brushes.Black,new
RectangleF(136,115,94,25));
g.DrawString(TotalMontoPago.ToString(),new
Font("Arial",11,FontStyle.Bold,GraphicsUnit.Point),Brushes.Black,new
RectangleF(365,210,94,25));
g.Dispose();

// hasta acá

string path =
"d:\\inetpub.alt\\webgp\\wwwgp\\imagen\\testimage"+DateTime.Now.Second.ToString()+".jpg";
// nueva imagan
//la imagen la grabo con los segundos de cuando fue creada para que no me
genere problemas si alguien mas esta haciendo lo mismo.

CuadroImagen.ImageUrl = path;
i.Save(path.ToString(),System.Drawing.Imaging.ImageFormat.Jpeg); // Grabo la
imagen.
i.Dispose();

La duda es: ¿Cómo puedo hacer para no grabar la imagen al disco y mostrarla
inmediatamente en el cuadro destinado para ello?, en mi caso CuadroImagen

Esta es la primera vez que trabajo con imagenes.

Gracias.


Pintamono OnLine
MSN: kyo_pintamono en hotmail punto com
ICQ: 74242885
AIM: PintamonoChile
YIM: pintamono79 en yahoo punto es
IRC: Pinatmono-
Jabber: Pintamono@jabberes.org
Radio: http://pintamono.no-ip.org (OffLine)
Fotolog: http://www.fotolog.com/pintamono_/
Flickr: http://www.flickr.com/photos/pintamono/
Videos: http://www.youtube.com/user/pintamono
 

Leer las respuestas

#1 ¥-- Lombar --¥
13/01/2007 - 10:40 | Informe spam
Existe un objeto de persist www.aspjpeg.com que permite el escribir en
imágenes, manipularlas, ... y puedes escribirlas en disco o trabajar con
ellas virtualmente (las lee, modifica y muestra pero no escribe). Yo lo
utilizo para crear galerías de imñagenes en tiempo real. Algunos proveedores
de hosting ya lo tienen disponible para sus clientes. Lo tienes en versiones
ASP y ASP.NET

Hechale un ojo. Te puede ahorrar muchos esfuerzos.


Jose Lombardia
¥.. Lombar --¥
echMotor 069

"Pintamono" escribió en el mensaje
news:
Logré colocar texto en una imagen gracias a un articulo que encontre acá:
http://www.bobpowell.net/modifyImage.htm

El problema que tengo ahora es que si bien la pagina da los resultados
esperados hay algo que no me gusta y es que la imagen la graba en el
disco..

Esto es lo que estoy haciendo:


protected System.Web.UI.WebControls.Image CuadroImagen;

CuadroImagen.Visible=true;
System.Drawing.Image i =
System.Drawing.Image.FromFile("d:\\imagen\\untitled.jpg"); // imagen
original
Graphics g=Graphics.FromImage(i);

// desde acá comienzo a colocar el texto en la imagen a modificar

g.DrawString("531",new
Font("Arial",11,FontStyle.Bold,GraphicsUnit.Point),Brushes.Black,new
RectangleF(45,84,94,25));
g.DrawString("96300",new
Font("Arial",11,FontStyle.Bold,GraphicsUnit.Point),Brushes.Black,new
RectangleF(45,115,94,25));
g.DrawString(DateTime.Now.ToShortDateString(),new
Font("Arial",11,FontStyle.Bold,GraphicsUnit.Point),Brushes.Black,new
RectangleF(136,115,94,25));
g.DrawString(TotalMontoPago.ToString(),new
Font("Arial",11,FontStyle.Bold,GraphicsUnit.Point),Brushes.Black,new
RectangleF(365,210,94,25));
g.Dispose();

// hasta acá

string path =
"d:\\inetpub.alt\\webgp\\wwwgp\\imagen\\testimage"+DateTime.Now.Second.ToString()+".jpg";
// nueva imagan
//la imagen la grabo con los segundos de cuando fue creada para que no me
genere problemas si alguien mas esta haciendo lo mismo.

CuadroImagen.ImageUrl = path;
i.Save(path.ToString(),System.Drawing.Imaging.ImageFormat.Jpeg); // Grabo
la imagen.
i.Dispose();

La duda es: ¿Cómo puedo hacer para no grabar la imagen al disco y
mostrarla inmediatamente en el cuadro destinado para ello?, en mi caso
CuadroImagen

Esta es la primera vez que trabajo con imagenes.

Gracias.


Pintamono OnLine
MSN: kyo_pintamono en hotmail punto com
ICQ: 74242885
AIM: PintamonoChile
YIM: pintamono79 en yahoo punto es
IRC: Pinatmono-
Jabber:
Radio: http://pintamono.no-ip.org (OffLine)
Fotolog: http://www.fotolog.com/pintamono_/
Flickr: http://www.flickr.com/photos/pintamono/
Videos: http://www.youtube.com/user/pintamono

Preguntas similares