Anti-Aliasing & Font Usage
AspJpeg's PrintTextEx method is based on the FreeType™ open-source library
which provides high-quality anti-aliased text rendering regardless of background. Previous versions of AspJpeg
could only render anti-aliased text on solid opaque backgrounds. The following code snippet
draws a 30-pixel-high text string in red color using the Arial TrueType font:
Jpeg.Canvas.Font.Size = 30
Jpeg.Canvas.Font.Color = &HFFFF0000
Jpeg.Canvas.PrintTextEx "Hello World!", 10, 20, "c:\Windows\Fonts\Arial.ttf"
The 1st argument specifies the string to be rendered in Unicode format.
The 2nd and 3rd arguments (X and Y) specify the lower-left corner of the first character
of the text string relative to the upper-left corner of the image.
The 4th argument specifies the path to the font to be used for the rendering. Both TrueType/OpenType
and Type 1 fonts are supported. The font does not need to be properly registered on the system as long as the font
file is accessible to the script.
Word Wrapping & Text Alignment
PrintTextEx is capable of rendering a text string within a given horizontal space. The width of the space
is specified via the Font.Width property in pixels. The method will automatically wrap the words,
and also recognize the CR/LF characters within the string as hard line breaks.
In addition to word-wrapping, PrintTextEx also provides text alignment to the left (default mode),
right, center and justified. Text alignment is specified via the Font.Align property. The valid values are:
0 (left), 1 (right), 2 (center) and 3 (justified). Note that if Font.Align is set to a value other than 0,
Font.Width must also be specified.
The following code snippet displays a text string within a 300-pixel space and aligns it to the right:
Jpeg.Canvas.Font.Width = 300
Jpeg.Canvas.Font.Align = 1
Jpeg.Canvas.PrintTextEx "A long string", 10, 20, "c:\Windows\Fonts\Arial.ttf"
For image watermarking purposes, text can be rendered on the image in a semi-transparent fashion.
The degree of transparency is specified via the Font.Opacity property. The default value of
1 means full opacity (the background does not show through the text at all).
A value less than 1 makes the text partially transparent, and the value of 0 makes it fully
transparent (and thus invisible). The following code snippet displays text at 50% transparency:
Jpeg.Canvas.Font.Opacity = 0.5
Jpeg.Canvas.PrintTextEx "Watermark", 10, 20, "c:\Windows\Fonts\Arial.ttf"
PrintTextEx can display a text string at any angle specified by Font.Rotation (in degrees). The default value
of 0 means horizontal orientation (no rotation.) Text is rotated around the point specified by the (X, Y)
arguments. A positive Rotation value means counter-clockwise rotation.
The following snippet displays a string vertically (rotated 90 degrees counter-clockwise):
Jpeg.Canvas.Font.Rotation = 90
Jpeg.Canvas.PrintTextEx "Vertical String", 10, 20, "c:\Windows\Fonts\Arial.ttf"
The latest version of AspJpeg can be downloaded from www.aspjpeg.com.