12.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 on 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.
Example 12-1 through Example 12-3 show the .aspx
file and
VB and 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 ...
Get ASP.NET Cookbook 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.