So you want to know how to generate an image with an ASP page on the fly? Well there is a few ways to do it, such as flash etc, but with Microsoft and GDI+ the task is made a lot easier. This tutorial just covers the basics, but from it you can always move on and experiment with GDI+ (and intellisense) :)
Well, lets start with the calling page default.aspx
(or whatever you would like to call it):
I usually like to draw all my controls to a table using code, there are other ways to do it, but I like doing it this way:
- Add a
TextBox
to thedefault.aspx
page calling it whatever you like (for the tutorial we'll call ittxtWord
) - Add a
CommandButton
to the page and call it whatever you like (just to submit the form) - Add a server side
Table
control (call it what you want I'll just call itimageTable
) - In the codebehind page (
.aspx.vb
) add the following code, or similar to thePage_Load
procedurePrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' #Check if the page is posted
If Page.IsPostBack Then
Dim m_sWord As String
m_sWord = Request("txtWord")
' #Check if txtWord has a value
If Not m_sWord = "" Then
GenImage(m_sWord)
Else
Dim tRow As New TableRow
Dim tCell As New TableCell
tCell.Controls.Add(New LiteralControl("Error getting the word you posted"))
tRow.Controls.Add(tCell)
imageTable.Controls.Add(tCell)
End If
End If
End Sub - Add a function called
GenImage
:Public Function GenImage(ByVal sWord As String)
'#Create the row and cell to hold the image in
Dim tRow As New TableRow
Dim tCell As New TableCell
tCell.Controls.Add(New LiteralControl("<img src='img_gen.aspx?w=' & sWord & '>"))
tRow.Controls.Add(tCell)
imageTable.Controls.Add(tRow)
End Function
So now you have a page that accepts a word posted to it by itself, and calls a aspx page as an image source. Now that was easy, next the fun part ... drawing :).
Comments