Drawing Images on the Web in GDI+

HTML clipboard

This article has been excerpted from book "Graphics Programming with GDI+".

The process of drawing images on the Web is slightly different from that of drawing images on Windows Forms. In Windows Forms we create a Bitmap object and call the Graphics.DrawImage method. Drawing on the Web requires a Graphics object. The Bitmap.Save method takes care of the rest, as discussed earlier.

To test this, let's create a Web application using Visual Studio .NET and add the code given in Listing 12.5 on the page-load event. This code views an image on the browser. First we create a Bitmap object from an image, then we create a Graphic object from the image, and then we call the Save method of Bitmap.

LISTING 12.5: Drawing images on the Web

//Create a Bitmap object from a file
Bitmap curBitmap =new Bitmap ("d;\\white_salvia.jpg");
//Create a Graphics object from Bitmap
Graphics g = Graphics.FromImage (curBitmap);
//Send output to the browser
curBitmap.Save (this.REsponse.OutputStream, ImageFormat.Jpeg);
//Dispose of object

Notice that we didn't even need to call the DrawImage method. Figure 12.11 shows the output from Listing 12.5.

Setting Image Quality

The SmoothingMode and TextRenderingHint properties of the Graphics object can be used to set the quality of images and text, respectively. GDI+ cannot draw text directly into a Web application. Like lines, curves, and other graphics shapes, text must also be rendered as an image for display in the browser. All graphics lines, curves, shapes, text and images are first converted to an image and directed to a browser, so only the SmoothingMode property will be applicable. SmoothingMode has five members: AntiAlias, Default, HighQuality, HighSpeed, and None. The following code snippet sets the smoothing mode of the Graphics object:

//Set modes
g.SmoothingMode = SmoothingMode.AntiAlias;

Figure 12.11.jpg

FIGURE 12.11: Drawing an image


Hope this article would have helped you in understanding Drawing Images on the Web in GDI+ . See my other articles on the website on GDI+.