This is not an image, it is just a simple <div> styled using CSS and written to the browser with javascript. This is not rocket science, but hey, it works!
I have implemented certain randomizing tricks to avoid creating a specific pattern in the html that a spider can recognize. This should make it harder for a spider to read and crack this solution:
The CSS class names are randomized and so is the CSS code itself, like the font family, size, color and position of the characters.
The order of the CSS elements is also randomized, sometimes font size comes after color etc.
The number of characters in the CAPTCHA may vary.
The user will not always be asked to simply enter the displayed characters, but also the color of one of the characters. These questions are randomized as well.
The characters are not always printed as plain ascii letters, sometimes their hexadecimal or decimal values are used.