Movatterモバイル変換


[0]ホーム

URL:


ContentsMenuExpandLight modeDark modeAuto light/dark, in light modeAuto light/dark, in dark modeSkip to content
Pillow (PIL Fork) 12.0.0 documentation
Light LogoDark Logo
Pillow (PIL Fork) 12.0.0 documentation
Back to top

9.2.0 (2022-07-01)

Security

An additional decompression bomb check has been added for the GIF format.

Deprecations

PyQt5 and PySide2

Deprecated since version 9.2.0.

Qt 5 reached end-of-life on 2020-12-08 foropen-source users (and will reach EOL on 2023-12-08 for commercial licence holders).

Support for PyQt5 and PySide2 has been deprecated fromImageQt and will be removedin Pillow 10 (2023-07-01). Upgrade toPyQt6 orPySide6 instead.

FreeTypeFont.getmask2 fill parameter

Deprecated since version 9.2.0.

The undocumentedfill parameter ofFreeTypeFont.getmask2()has been deprecated and will be removed in Pillow 10 (2023-07-01).

PhotoImage.paste box parameter

Deprecated since version 9.2.0.

Thebox parameter is unused. It will be removed in Pillow 10.0.0 (2023-07-01).

Image.coerce_e

Deprecated since version 9.2.0.

This undocumented method has been deprecated and will be removed in Pillow 10(2023-07-01).

Font size and offset methods

Deprecated since version 9.2.0.

Several functions for computing the size and offset of rendered texthave been deprecated and will be removed in Pillow 10 (2023-07-01):

Deprecated

Use instead

FreeTypeFont.getsize() andFreeTypeFont.getoffset()

FreeTypeFont.getbbox() andFreeTypeFont.getlength()

FreeTypeFont.getsize_multiline()

ImageDraw.multiline_textbbox()

ImageFont.getsize()

ImageFont.getbbox() andImageFont.getlength()

TransposedFont.getsize()

TransposedFont.getbbox() andTransposedFont.getlength()

ImageDraw.textsize() andImageDraw.multiline_textsize()

ImageDraw.textbbox(),ImageDraw.textlength() andImageDraw.multiline_textbbox()

ImageDraw2.Draw.textsize()

ImageDraw2.Draw.textbbox() andImageDraw2.Draw.textlength()

Previous code:

fromPILimportImage,ImageDraw,ImageFontfont=ImageFont.truetype("Tests/fonts/FreeMono.ttf")width,height=font.getsize("Hello world")left,top=font.getoffset("Hello world")im=Image.new("RGB",(100,100))draw=ImageDraw.Draw(im)width,height=draw.textsize("Hello world",font)width,height=font.getsize_multiline("Hello\nworld")width,height=draw.multiline_textsize("Hello\nworld",font)

Use instead:

fromPILimportImage,ImageDraw,ImageFontfont=ImageFont.truetype("Tests/fonts/FreeMono.ttf")left,top,right,bottom=font.getbbox("Hello world")width,height=right-left,bottom-topim=Image.new("RGB",(100,100))draw=ImageDraw.Draw(im)width=draw.textlength("Hello world",font)left,top,right,bottom=draw.multiline_textbbox((0,0),"Hello\nworld",font)width,height=right-left,bottom-top

Previously, thesize methods returned aheight that included the verticaloffset of the text, while the newbbox methods distinguish this as atopoffset.

In bbox methods, top measures the vertical distance above the text, while bottom measures that plus the vertical distance of the text itself. In size methods, height also measures the vertical distance above the text plus the vertical distance of the text itself.

If you are using these methods for aligning text, consider usingText anchors insteadwhich avoid issues that can occur with non-English text or unusual fonts.For example, instead of the following code:

fromPILimportImage,ImageDraw,ImageFontfont=ImageFont.truetype("Tests/fonts/FreeMono.ttf")im=Image.new("RGB",(100,100))draw=ImageDraw.Draw(im)width,height=draw.textsize("Hello world",font)x,y=(100-width)/2,(100-height)/2draw.text((x,y),"Hello world",font=font)

Use instead:

fromPILimportImage,ImageDraw,ImageFontfont=ImageFont.truetype("Tests/fonts/FreeMono.ttf")im=Image.new("RGB",(100,100))draw=ImageDraw.Draw(im)draw.text((100/2,100/2),"Hello world",font=font,anchor="mm")

API additions

Image.apply_transparency

Addedapply_transparency(), a method to take a P mode imagewith “transparency” inim.info, and apply the transparency to the palette instead.The image’s palette mode will become “RGBA”, and “transparency” will be removed fromim.info.

Other changes

Using gnome-screenshot on Linux

Ingrab() on Linux, ifxdisplay isNone thengnome-screenshot will be used to capture the display if it is installed. To capturethe default X11 display instead, passxdisplay="".

On this page

[8]ページ先頭

©2009-2025 Movatter.jp