15.1. Drawing Button Images on the Fly
Problem
You need to create a button image on the fly using text generated during the running of your application.
Solution
Create a web form that is responsible for creating the button image using the System.Drawing
classes and then streaming the image to the Response
object.
In the .aspx file, enter an @ Page
directive, but omit any head or body tags. The @ Page
directive links the ASP.NET page to the code-behind class that draws the image.
In the code-behind class for the page, use the .NET language of your choice to:
Import the
System.Drawing
andSystem.Drawing.Imaging
namespaces.Create a
makeButton
(or similarly named) method that creates a bitmap for a button using text generated during the running of the application—for example, text passed in the URL.Create a
MemoryStream
object and save the bitmap in JPEG format (or other format) to the memory stream.Write the resulting binary stream to
Response
object.
Examples 15-1, 15-2 through 15-3 show the .aspx file and VBand C# code-behind files for an application that creates a button image whose label is provided by the application user.
To use a dynamically generated image in your application, you need to set the Src
attribute of the image tags for your button bitmaps to the URL of the ASP.NET page that creates the images, passing the image text in the URL.
In the .aspx file for the page, add an img
tag for displaying the dynamically created image.
In the code-behind class for the page that uses the ...
Get ASP.NET 2.0 Cookbook, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.