mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-31 16:07:30 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 9.2.0
 | |
| -----
 | |
| 
 | |
| Deprecations
 | |
| ============
 | |
| 
 | |
| PyQt5 and PySide2
 | |
| ^^^^^^^^^^^^^^^^^
 | |
| 
 | |
| .. deprecated:: 9.2.0
 | |
| 
 | |
| `Qt 5 reached end-of-life <https://www.qt.io/blog/qt-5.15-released>`_ on 2020-12-08 for
 | |
| open-source users (and will reach EOL on 2023-12-08 for commercial licence holders).
 | |
| 
 | |
| Support for PyQt5 and PySide2 has been deprecated from ``ImageQt`` and will be removed
 | |
| in Pillow 10 (2023-07-01). Upgrade to
 | |
| `PyQt6 <https://www.riverbankcomputing.com/static/Docs/PyQt6/>`_ or
 | |
| `PySide6 <https://doc.qt.io/qtforpython-6/>`_ instead.
 | |
| 
 | |
| FreeTypeFont.getmask2 fill parameter
 | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | |
| 
 | |
| .. deprecated:: 9.2.0
 | |
| 
 | |
| The undocumented ``fill`` parameter of :py:meth:`.FreeTypeFont.getmask2`
 | |
| has been deprecated and will be removed in Pillow 10 (2023-07-01).
 | |
| 
 | |
| PhotoImage.paste box parameter
 | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | |
| 
 | |
| .. deprecated:: 9.2.0
 | |
| 
 | |
| The ``box`` parameter is unused. It will be removed in Pillow 10.0.0 (2023-07-01).
 | |
| 
 | |
| Image.coerce_e
 | |
| ^^^^^^^^^^^^^^
 | |
| 
 | |
| .. deprecated:: 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:: 9.2.0
 | |
| 
 | |
| Several functions for computing the size and offset of rendered text
 | |
| have been deprecated and will be removed in Pillow 10 (2023-07-01):
 | |
| 
 | |
| =============================================================== =============================================================================================================
 | |
| Deprecated                                                      Use instead
 | |
| =============================================================== =============================================================================================================
 | |
| ``FreeTypeFont.getsize()`` and ``FreeTypeFont.getoffset()``     :py:meth:`.FreeTypeFont.getbbox` and :py:meth:`.FreeTypeFont.getlength`
 | |
| ``FreeTypeFont.getsize_multiline()``                            :py:meth:`.ImageDraw.multiline_textbbox`
 | |
| ``ImageFont.getsize()``                                         :py:meth:`.ImageFont.getbbox` and :py:meth:`.ImageFont.getlength`
 | |
| ``TransposedFont.getsize()``                                    :py:meth:`.TransposedFont.getbbox` and :py:meth:`.TransposedFont.getlength`
 | |
| ``ImageDraw.textsize()`` and ``ImageDraw.multiline_textsize()`` :py:meth:`.ImageDraw.textbbox`, :py:meth:`.ImageDraw.textlength` and :py:meth:`.ImageDraw.multiline_textbbox`
 | |
| ``ImageDraw2.Draw.textsize()``                                  :py:meth:`.ImageDraw2.Draw.textbbox` and :py:meth:`.ImageDraw2.Draw.textlength`
 | |
| =============================================================== =============================================================================================================
 | |
| 
 | |
| Previous code::
 | |
| 
 | |
|     from PIL import Image, ImageDraw, ImageFont
 | |
| 
 | |
|     font = 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")
 | |
| 
 | |
|     width, height = font.getsize_multiline("Hello\nworld")
 | |
|     width, height = draw.multiline_textsize("Hello\nworld")
 | |
| 
 | |
| Use instead::
 | |
| 
 | |
|     from PIL import Image, ImageDraw, ImageFont
 | |
| 
 | |
|     font = ImageFont.truetype("Tests/fonts/FreeMono.ttf")
 | |
|     left, top, right, bottom = font.getbbox("Hello world")
 | |
|     width, height = right - left, bottom - top
 | |
| 
 | |
|     im = Image.new("RGB", (100, 100))
 | |
|     draw = ImageDraw.Draw(im)
 | |
|     width = draw.textlength("Hello world")
 | |
| 
 | |
|     left, top, right, bottom = draw.multiline_textbbox((0, 0), "Hello\nworld")
 | |
|     width, height = right - left, bottom - top
 | |
| 
 | |
| API Additions
 | |
| =============
 | |
| 
 | |
| Image.apply_transparency
 | |
| ^^^^^^^^^^^^^^^^^^^^^^^^
 | |
| 
 | |
| Added :py:meth:`~PIL.Image.Image.apply_transparency`, a method to take a P mode image
 | |
| with "transparency" in ``im.info``, and apply the transparency to the palette instead.
 | |
| The image's palette mode will become "RGBA", and "transparency" will be removed from
 | |
| ``im.info``.
 | |
| 
 | |
| Security
 | |
| ========
 | |
| 
 | |
| An additional decompression bomb check has been added for the GIF format.
 | |
| 
 | |
| Other Changes
 | |
| =============
 | |
| 
 | |
| Using gnome-screenshot on Linux
 | |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 | |
| 
 | |
| In :py:meth:`~PIL.ImageGrab.grab` on Linux, if ``xdisplay`` is ``None`` then
 | |
| ``gnome-screenshot`` will be used to capture the display if it is installed. To capture
 | |
| the default X11 display instead, pass ``xdisplay=""``.
 |