'it' can render text into images using FreeType. Two functions support this.
This function creates a single-channel, 8-bit image with the specified string rendered into it. The returned image has a box such that(0, 0) is at the string baseline. The actual height of the image depends on the string itself, but it is always possible to render a line of text in pieces just by translating by the X size of the previous string rendered.
string
String to be rendered (str)
[width, height]
Nominal width and height of each character in pixels (list).
[family, style]
(Optional) Font family to use, e.g. Courier (str) and font style to use, e.g. Bold (str). Users are encouraged to use the lists returned from ice.FontChoices().
# Make the "Hello" f = ice.FontChoices()[0] label1 = ice.DrawString("Hello ", (50, 50), f) label2 = ice.DrawString("World!", (50, 50), f) # X offset calculation: just grab the x size of the first label # and use it to translate the second before addition offset = [label1.DataBox()[1], 0] result = label1.Add(label2.Translate(offset)) |
The above example illustrates the utility of the origin being at the baseline: individual strings have different bounding boxes, but are arranged such that concatenation simply requires the use of an x offset. Note that for the purposes of the above example we could just have rendered both words as a single string.
DrawString always returns a single-channel, 8-bit image. IceMan's built-in operations can be used very easily to create color and transparency as desired.
This function returns a List of Lists enumerating the various font family-style combinations available for use. If called with no argmuents it returns the list of fonts installed on the current system. If called with a single file name argument that file is expected to be a text file where each line has three tab delimited columns of "family", "style" and "font file path". To define a mapping between a family and style to a particular font file user the second form of FontChoices.
fontMapFile
(Optional) File to get font mappings from. (str)
family
(Optional) A font family name (str).
style
(Optional) The style name (str).
path
(Optional) Path to the font file (str).
# List all the fonts that are currently available for use for f in ice.FontChoices(): print |