mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-10-19 02:04:32 +03:00
62 lines
1.7 KiB
ReStructuredText
62 lines
1.7 KiB
ReStructuredText
.. py:module:: PIL.ImageText
|
|
.. py:currentmodule:: PIL.ImageText
|
|
|
|
:py:mod:`~PIL.ImageText` module
|
|
===============================
|
|
|
|
The :py:mod:`~PIL.ImageText` module defines a :py:class:`~PIL.ImageText.Text` class.
|
|
Instances of this class provide a way to use fonts with text strings or bytes. The
|
|
result is a simple API to apply styling to pieces of text and measure or draw them.
|
|
|
|
Example
|
|
-------
|
|
|
|
::
|
|
|
|
from PIL import Image, ImageDraw, ImageFont, ImageText
|
|
font = ImageFont.truetype("Tests/fonts/FreeMono.ttf", 24)
|
|
|
|
text = ImageText.Text("Hello world", font)
|
|
text.embed_color()
|
|
text.stroke(2, "#0f0")
|
|
|
|
print(text.get_length()) # 154.0
|
|
print(text.get_bbox()) # (-2, 3, 156, 22)
|
|
|
|
im = Image.new("RGB", text.get_bbox()[2:])
|
|
d = ImageDraw.Draw(im)
|
|
d.text((0, 0), text, "#f00")
|
|
|
|
Comparison
|
|
----------
|
|
|
|
Without ``ImageText.Text``::
|
|
|
|
from PIL import Image, ImageDraw
|
|
im = Image.new(mode, size)
|
|
d = ImageDraw.Draw(im)
|
|
|
|
d.textlength(text, font, direction, features, language, embedded_color)
|
|
d.multiline_textbbox(xy, text, font, anchor, spacing, align, direction, features, language, stroke_width, embedded_color)
|
|
d.text(xy, text, fill, font, anchor, spacing, align, direction, features, language, stroke_width, stroke_fill, embedded_color)
|
|
|
|
With ``ImageText.Text``::
|
|
|
|
from PIL import ImageText
|
|
text = ImageText.Text(text, font, mode, spacing, direction, features, language)
|
|
text.embed_color()
|
|
text.stroke(stroke_width, stroke_fill)
|
|
|
|
text.get_length()
|
|
text.get_bbox(xy, anchor, align)
|
|
|
|
im = Image.new(mode, size)
|
|
d = ImageDraw.Draw(im)
|
|
d.text(xy, text, fill, anchor=anchor, align=align)
|
|
|
|
Methods
|
|
-------
|
|
|
|
.. autoclass:: PIL.ImageText.Text
|
|
:members:
|