This was something I pulled from a test program I was messing with. I was writing an application to send some information to a remote database and to prevent "flooding" I could write in a captcha. Granted I would never include this because of how simple it is, it was rather easy.

First off our function to create the random string of letters.

    Private Function generateCaptchaString()

        Dim rand As New Random

        Dim currentLetter As String

        Dim captchaString As String = ""

        For i = 0 To 6

            currentLetter = ChrW(rand.Next(Asc("A"), Asc("Z") + 1))

            captchaString &= currentLetter


        Return captchaString

    End Function
Then the code for creating the image with the string as apart of it.

        'Set captchaText to what is generated in the function generateRandomString

        Dim captchaText As String = generateCaptchaString()

        'Creating a bitmap in memory

        Dim captchaBitmap As New Bitmap(200, 40)

        'Creating a Graphic so we can manipulate how the image will look

        Dim captchaGraphic As Graphics = Graphics.FromImage(captchaBitmap)

        Dim captchaFont As New Font("Arial", 14)

        'Set the Text color

        Dim captchaForeColor As New SolidBrush(Color.Blue)

        'Set the background color

        Dim captchaBackgroundColor As New SolidBrush(Color.Yellow)

        captchaGraphic.FillRectangle(captchaBackgroundColor, 0, 0, Width, Height)

        captchaGraphic.DrawString(captchaText, captchaFont, captchaForeColor, 5.0F, 5.0F)

        pict_Captcha.Image = captchaBitmap