mirror of
				https://github.com/python-pillow/Pillow.git
				synced 2025-10-30 23:47:27 +03:00 
			
		
		
		
	Merge pull request #6958 from radarhere/codeblock
This commit is contained in:
		
						commit
						7d8a08b221
					
				|  | @ -177,9 +177,7 @@ Deprecated                                                                  Use | |||
| :py:meth:`.ImageDraw2.Draw.textsize`                                        :py:meth:`.ImageDraw2.Draw.textbbox` and :py:meth:`.ImageDraw2.Draw.textlength` | ||||
| =========================================================================== ============================================================================================================= | ||||
| 
 | ||||
| Previous code: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Previous code:: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  | @ -194,9 +192,7 @@ Previous code: | |||
|     width, height = font.getsize_multiline("Hello\nworld") | ||||
|     width, height = draw.multiline_textsize("Hello\nworld") | ||||
| 
 | ||||
| Use instead: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Use instead:: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  | @ -336,16 +332,12 @@ Implicitly closing the image's underlying file in ``Image.__del__`` has been rem | |||
| Use a context manager or call ``Image.close()`` instead to close the file in a | ||||
| deterministic way. | ||||
| 
 | ||||
| Previous method: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Previous method:: | ||||
| 
 | ||||
|     im = Image.open("hopper.png") | ||||
|     im.save("out.jpg") | ||||
| 
 | ||||
| Use instead: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Use instead:: | ||||
| 
 | ||||
|     with Image.open("hopper.png") as im: | ||||
|         im.save("out.jpg") | ||||
|  |  | |||
|  | @ -1393,9 +1393,7 @@ WMF, EMF | |||
| Pillow can identify WMF and EMF files. | ||||
| 
 | ||||
| On Windows, it can read WMF and EMF files. By default, it will load the image | ||||
| at 72 dpi. To load it at another resolution: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| at 72 dpi. To load it at another resolution:: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  | @ -1404,9 +1402,7 @@ at 72 dpi. To load it at another resolution: | |||
| 
 | ||||
| To add other read or write support, use | ||||
| :py:func:`PIL.WmfImagePlugin.register_handler` to register a WMF and EMF | ||||
| handler. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| handler. :: | ||||
| 
 | ||||
|     from PIL import Image | ||||
|     from PIL import WmfImagePlugin | ||||
|  |  | |||
|  | @ -29,7 +29,7 @@ For example, in the following image, the text is ``ms`` (middle-baseline) aligne | |||
|   :alt: ms (middle-baseline) aligned text. | ||||
|   :align: left | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  |  | |||
|  | @ -108,9 +108,7 @@ Note that the image plugin must be explicitly registered using | |||
| :py:func:`PIL.Image.register_open`. Although not required, it is also a good | ||||
| idea to register any extensions used by this format. | ||||
| 
 | ||||
| Once the plugin has been imported, it can be used: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Once the plugin has been imported, it can be used:: | ||||
| 
 | ||||
|     from PIL import Image | ||||
|     import SpamImagePlugin | ||||
|  | @ -169,9 +167,7 @@ The raw decoder | |||
| The ``raw`` decoder is used to read uncompressed data from an image file. It | ||||
| can be used with most uncompressed file formats, such as PPM, BMP, uncompressed | ||||
| TIFF, and many others. To use the raw decoder with the | ||||
| :py:func:`PIL.Image.frombytes` function, use the following syntax: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :py:func:`PIL.Image.frombytes` function, use the following syntax:: | ||||
| 
 | ||||
|     image = Image.frombytes( | ||||
|         mode, size, data, "raw", | ||||
|  | @ -281,9 +277,7 @@ decoder that can be used to read various packed formats into a floating point | |||
| image memory. | ||||
| 
 | ||||
| To use the bit decoder with the :py:func:`PIL.Image.frombytes` function, use | ||||
| the following syntax: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| the following syntax:: | ||||
| 
 | ||||
|     image = Image.frombytes( | ||||
|         mode, size, data, "bit", | ||||
|  |  | |||
|  | @ -17,9 +17,7 @@ Open, rotate, and display an image (using the default viewer) | |||
| 
 | ||||
| The following script loads an image, rotates it 45 degrees, and displays it | ||||
| using an external viewer (usually xv on Unix, and the Paint program on | ||||
| Windows). | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Windows). :: | ||||
| 
 | ||||
|     from PIL import Image | ||||
|     with Image.open("hopper.jpg") as im: | ||||
|  | @ -29,9 +27,7 @@ Create thumbnails | |||
| ^^^^^^^^^^^^^^^^^ | ||||
| 
 | ||||
| The following script creates nice thumbnails of all JPEG images in the | ||||
| current directory preserving aspect ratios with 128x128 max resolution. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| current directory preserving aspect ratios with 128x128 max resolution. :: | ||||
| 
 | ||||
|     from PIL import Image | ||||
|     import glob, os | ||||
|  | @ -127,9 +123,7 @@ methods. Unless otherwise stated, all methods return a new instance of the | |||
| .. automethod:: PIL.Image.Image.convert | ||||
| 
 | ||||
| The following example converts an RGB image (linearly calibrated according to | ||||
| ITU-R 709, using the D65 luminant) to the CIE XYZ color space: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| ITU-R 709, using the D65 luminant) to the CIE XYZ color space:: | ||||
| 
 | ||||
|     rgb2xyz = ( | ||||
|         0.412453, 0.357580, 0.180423, 0, | ||||
|  | @ -140,9 +134,7 @@ ITU-R 709, using the D65 luminant) to the CIE XYZ color space: | |||
| .. automethod:: PIL.Image.Image.copy | ||||
| .. automethod:: PIL.Image.Image.crop | ||||
| 
 | ||||
| This crops the input image with the provided coordinates: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| This crops the input image with the provided coordinates:: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  | @ -162,9 +154,7 @@ This crops the input image with the provided coordinates: | |||
| .. automethod:: PIL.Image.Image.entropy | ||||
| .. automethod:: PIL.Image.Image.filter | ||||
| 
 | ||||
| This blurs the input image using a filter from the ``ImageFilter`` module: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| This blurs the input image using a filter from the ``ImageFilter`` module:: | ||||
| 
 | ||||
|     from PIL import Image, ImageFilter | ||||
| 
 | ||||
|  | @ -176,9 +166,7 @@ This blurs the input image using a filter from the ``ImageFilter`` module: | |||
| .. automethod:: PIL.Image.Image.frombytes | ||||
| .. automethod:: PIL.Image.Image.getbands | ||||
| 
 | ||||
| This helps to get the bands of the input image: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| This helps to get the bands of the input image:: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  | @ -187,9 +175,7 @@ This helps to get the bands of the input image: | |||
| 
 | ||||
| .. automethod:: PIL.Image.Image.getbbox | ||||
| 
 | ||||
| This helps to get the bounding box coordinates of the input image: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| This helps to get the bounding box coordinates of the input image:: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  | @ -217,9 +203,7 @@ This helps to get the bounding box coordinates of the input image: | |||
| .. automethod:: PIL.Image.Image.remap_palette | ||||
| .. automethod:: PIL.Image.Image.resize | ||||
| 
 | ||||
| This resizes the given image from ``(width, height)`` to ``(width/2, height/2)``: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| This resizes the given image from ``(width, height)`` to ``(width/2, height/2)``:: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  | @ -231,9 +215,7 @@ This resizes the given image from ``(width, height)`` to ``(width/2, height/2)`` | |||
| 
 | ||||
| .. automethod:: PIL.Image.Image.rotate | ||||
| 
 | ||||
| This rotates the input image by ``theta`` degrees counter clockwise: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| This rotates the input image by ``theta`` degrees counter clockwise:: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  | @ -256,9 +238,7 @@ This rotates the input image by ``theta`` degrees counter clockwise: | |||
| .. automethod:: PIL.Image.Image.transpose | ||||
| 
 | ||||
| This flips the input image by using the :data:`Transpose.FLIP_LEFT_RIGHT` | ||||
| method. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| method. :: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ For a more advanced drawing library for PIL, see the `aggdraw module`_. | |||
| Example: Draw a gray cross over an image | ||||
| ---------------------------------------- | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     import sys | ||||
|     from PIL import Image, ImageDraw | ||||
|  | @ -78,7 +78,7 @@ libraries, and may not available in all PIL builds. | |||
| Example: Draw Partial Opacity Text | ||||
| ---------------------------------- | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  | @ -105,7 +105,7 @@ Example: Draw Partial Opacity Text | |||
| Example: Draw Multiline Text | ||||
| ---------------------------- | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  | @ -597,18 +597,14 @@ Methods | |||
|     string due to kerning. If you need to adjust for kerning, include the following | ||||
|     character and subtract its length. | ||||
| 
 | ||||
|     For example, instead of | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     For example, instead of :: | ||||
| 
 | ||||
|         hello = draw.textlength("Hello", font) | ||||
|         world = draw.textlength("World", font) | ||||
|         hello_world = hello + world  # not adjusted for kerning | ||||
|         assert hello_world == draw.textlength("HelloWorld", font)  # may fail | ||||
| 
 | ||||
|     use | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     use :: | ||||
| 
 | ||||
|         hello = draw.textlength("HelloW", font) - draw.textlength( | ||||
|             "W", font | ||||
|  | @ -617,9 +613,7 @@ Methods | |||
|         hello_world = hello + world  # adjusted for kerning | ||||
|         assert hello_world == draw.textlength("HelloWorld", font)  # True | ||||
| 
 | ||||
|     or disable kerning with (requires libraqm) | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     or disable kerning with (requires libraqm) :: | ||||
| 
 | ||||
|         hello = draw.textlength("Hello", font, features=["-kern"]) | ||||
|         world = draw.textlength("World", font, features=["-kern"]) | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ for image enhancement. | |||
| Example: Vary the sharpness of an image | ||||
| --------------------------------------- | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import ImageEnhance | ||||
| 
 | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ and **xmllib** modules. | |||
| Example: Parse an image | ||||
| ----------------------- | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import ImageFile | ||||
| 
 | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ filters, which can be be used with the :py:meth:`Image.filter() | |||
| Example: Filter an image | ||||
| ------------------------ | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import ImageFilter | ||||
| 
 | ||||
|  |  | |||
|  | @ -21,7 +21,7 @@ the imToolkit package. | |||
| Example | ||||
| ------- | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import ImageFont, ImageDraw | ||||
| 
 | ||||
|  |  | |||
|  | @ -11,7 +11,7 @@ an expression string and one or more images. | |||
| Example: Using the :py:mod:`~PIL.ImageMath` module | ||||
| -------------------------------------------------- | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import Image, ImageMath | ||||
| 
 | ||||
|  |  | |||
|  | @ -60,9 +60,7 @@ vector data. Path objects can be passed to the methods on the | |||
| .. py:method:: PIL.ImagePath.Path.transform(matrix) | ||||
| 
 | ||||
|     Transforms the path in place, using an affine transform. The matrix is a | ||||
|     6-tuple (a, b, c, d, e, f), and each point is mapped as follows: | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     6-tuple (a, b, c, d, e, f), and each point is mapped as follows:: | ||||
| 
 | ||||
|         xOut = xIn * a + yIn * b + c | ||||
|         yOut = xIn * d + yIn * e + f | ||||
|  |  | |||
|  | @ -10,7 +10,7 @@ iterate over the frames of an image sequence. | |||
| Extracting frames from an animation | ||||
| ----------------------------------- | ||||
| 
 | ||||
| .. code-block:: python | ||||
| :: | ||||
| 
 | ||||
|     from PIL import Image, ImageSequence | ||||
| 
 | ||||
|  |  | |||
|  | @ -9,9 +9,7 @@ Windows. | |||
| 
 | ||||
| ImageWin can be used with PythonWin and other user interface toolkits that | ||||
| provide access to Windows device contexts or window handles. For example, | ||||
| Tkinter makes the window handle available via the winfo_id method: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Tkinter makes the window handle available via the winfo_id method:: | ||||
| 
 | ||||
|     from PIL import ImageWin | ||||
| 
 | ||||
|  |  | |||
|  | @ -18,9 +18,7 @@ Example | |||
| ------- | ||||
| 
 | ||||
| The following script loads an image, accesses one pixel from it, then | ||||
| changes it. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| changes it. :: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  | @ -35,9 +33,7 @@ Results in the following:: | |||
|     (23, 24, 68) | ||||
|     (0, 0, 0) | ||||
| 
 | ||||
| Access using negative indexes is also possible. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Access using negative indexes is also possible. :: | ||||
| 
 | ||||
|     px[-1, -1] = (0, 0, 0) | ||||
|     print(px[-1, -1]) | ||||
|  |  | |||
|  | @ -17,9 +17,7 @@ The :py:mod:`~PIL.PyAccess` module provides a CFFI/Python implementation of the | |||
| Example | ||||
| ------- | ||||
| 
 | ||||
| The following script loads an image, accesses one pixel from it, then changes it. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| The following script loads an image, accesses one pixel from it, then changes it. :: | ||||
| 
 | ||||
|     from PIL import Image | ||||
| 
 | ||||
|  | @ -34,9 +32,7 @@ Results in the following:: | |||
|     (23, 24, 68) | ||||
|     (0, 0, 0) | ||||
| 
 | ||||
| Access using negative indexes is also possible. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Access using negative indexes is also possible. :: | ||||
| 
 | ||||
|     px[-1, -1] = (0, 0, 0) | ||||
|     print(px[-1, -1]) | ||||
|  |  | |||
|  | @ -61,9 +61,7 @@ Image Lifecycle | |||
| * ``Image.Image.close()`` Closes the file and destroys the core image object. | ||||
| 
 | ||||
|   The Pillow context manager will also close the file, but will not destroy | ||||
|   the core image object. e.g.: | ||||
| 
 | ||||
| .. code-block:: python | ||||
|   the core image object. e.g.:: | ||||
| 
 | ||||
|     with Image.open("test.jpg") as img: | ||||
|         img.load() | ||||
|  |  | |||
|  | @ -13,16 +13,12 @@ Implicitly closing the image's underlying file in ``Image.__del__`` has been dep | |||
| Use a context manager or call ``Image.close()`` instead to close the file in a | ||||
| deterministic way. | ||||
| 
 | ||||
| Deprecated: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Deprecated:: | ||||
| 
 | ||||
|     im = Image.open("hopper.png") | ||||
|     im.save("out.jpg") | ||||
| 
 | ||||
| Use instead: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Use instead:: | ||||
| 
 | ||||
|     with Image.open("hopper.png") as im: | ||||
|         im.save("out.jpg") | ||||
|  | @ -79,9 +75,7 @@ Image quality for JPEG compressed TIFF | |||
| 
 | ||||
| The TIFF encoder accepts a ``quality`` parameter for ``jpeg`` compressed TIFF files. A | ||||
| value from 0 (worst) to 100 (best) controls the image quality, similar to the JPEG | ||||
| encoder. The default is 75. For example: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| encoder. The default is 75. For example:: | ||||
| 
 | ||||
|     im.save("out.tif", compression="jpeg", quality=85) | ||||
| 
 | ||||
|  |  | |||
|  | @ -10,9 +10,7 @@ Text stroking | |||
| ``stroke_width`` and ``stroke_fill`` arguments have been added to text drawing | ||||
| operations. They allow text to be outlined, setting the width of the stroke and | ||||
| and the color respectively. If not provided, ``stroke_fill`` will default to | ||||
| the ``fill`` parameter. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| the ``fill`` parameter. :: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  | @ -28,9 +26,7 @@ the ``fill`` parameter. | |||
|     draw.multiline_text((10, 10), "A\nB", "#f00", font, | ||||
|                         stroke_width=2, stroke_fill="#0f0") | ||||
| 
 | ||||
| For example, | ||||
| 
 | ||||
| .. code-block:: python | ||||
| For example, :: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  |  | |||
|  | @ -118,9 +118,7 @@ Loading WMF images at a given DPI | |||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||
| 
 | ||||
| On Windows, Pillow can read WMF files, with a default DPI of 72. An image can | ||||
| now also be loaded at another resolution: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| now also be loaded at another resolution:: | ||||
| 
 | ||||
|     from PIL import Image | ||||
|     with Image.open("drawing.wmf") as im: | ||||
|  | @ -136,16 +134,12 @@ Implicitly closing the image's underlying file in ``Image.__del__`` has been rem | |||
| Use a context manager or call :py:meth:`~PIL.Image.Image.close` instead to close | ||||
| the file in a deterministic way. | ||||
| 
 | ||||
| Previous method: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Previous method:: | ||||
| 
 | ||||
|     im = Image.open("hopper.png") | ||||
|     im.save("out.jpg") | ||||
| 
 | ||||
| Use instead: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Use instead:: | ||||
| 
 | ||||
|     with Image.open("hopper.png") as im: | ||||
|         im.save("out.jpg") | ||||
|  |  | |||
|  | @ -10,9 +10,7 @@ Allow saving of zero quality JPEG images | |||
| If no quality was specified when saving a JPEG, Pillow internally used a value | ||||
| of zero to indicate that the default quality should be used. However, this | ||||
| removed the ability to actually save a JPEG with zero quality. This has now | ||||
| been resolved. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| been resolved. :: | ||||
| 
 | ||||
|     from PIL import Image | ||||
|     im = Image.open("hopper.jpg") | ||||
|  |  | |||
|  | @ -76,9 +76,7 @@ ImageDraw.rounded_rectangle | |||
| Added :py:meth:`~PIL.ImageDraw.ImageDraw.rounded_rectangle`. It works the same as | ||||
| :py:meth:`~PIL.ImageDraw.ImageDraw.rectangle`, except with an additional ``radius`` | ||||
| argument. ``radius`` is limited to half of the width or the height, so that users can | ||||
| create a circle, but not any other ellipse. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| create a circle, but not any other ellipse. :: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw | ||||
|     im = Image.new("RGB", (200, 200)) | ||||
|  |  | |||
|  | @ -24,9 +24,7 @@ Added "transparency" argument for loading EPS images | |||
| 
 | ||||
| This new argument switches the Ghostscript device from "ppmraw" to "pngalpha", | ||||
| generating an RGBA image with a transparent background instead of an RGB image with a | ||||
| white background. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| white background. :: | ||||
| 
 | ||||
|     with Image.open("sample.eps") as im: | ||||
|         im.load(transparency=True) | ||||
|  |  | |||
|  | @ -155,9 +155,7 @@ altered slightly with this change. | |||
| Added support for pickling TrueType fonts | ||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||||
| 
 | ||||
| TrueType fonts may now be pickled and unpickled. For example: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| TrueType fonts may now be pickled and unpickled. For example:: | ||||
| 
 | ||||
|     import pickle | ||||
|     from PIL import ImageFont | ||||
|  |  | |||
|  | @ -182,17 +182,13 @@ GifImagePlugin loading strategy | |||
| 
 | ||||
| Pillow 9.0.0 introduced the conversion of subsequent GIF frames to ``RGB`` or ``RGBA``. This | ||||
| behaviour can now be changed so that the first ``P`` frame is converted to ``RGB`` as | ||||
| well. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| well. :: | ||||
| 
 | ||||
|     from PIL import GifImagePlugin | ||||
|     GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_ALWAYS | ||||
| 
 | ||||
| Or subsequent frames can be kept in ``P`` mode as long as there is only a single | ||||
| palette. | ||||
| 
 | ||||
| .. code-block:: python | ||||
| palette. :: | ||||
| 
 | ||||
|     from PIL import GifImagePlugin | ||||
|     GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_AFTER_DIFFERENT_PALETTE_ONLY | ||||
|  |  | |||
|  | @ -59,9 +59,7 @@ Deprecated                                                                  Use | |||
| :py:meth:`.ImageDraw2.Draw.textsize`                                        :py:meth:`.ImageDraw2.Draw.textbbox` and :py:meth:`.ImageDraw2.Draw.textlength` | ||||
| =========================================================================== ============================================================================================================= | ||||
| 
 | ||||
| Previous code: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Previous code:: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  | @ -76,9 +74,7 @@ Previous code: | |||
|     width, height = font.getsize_multiline("Hello\nworld") | ||||
|     width, height = draw.multiline_textsize("Hello\nworld") | ||||
| 
 | ||||
| Use instead: | ||||
| 
 | ||||
| .. code-block:: python | ||||
| Use instead:: | ||||
| 
 | ||||
|     from PIL import Image, ImageDraw, ImageFont | ||||
| 
 | ||||
|  |  | |||
|  | @ -38,9 +38,7 @@ def duplicate(image): | |||
| 
 | ||||
| def invert(image): | ||||
|     """ | ||||
|     Invert an image (channel). | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     Invert an image (channel). :: | ||||
| 
 | ||||
|         out = MAX - image | ||||
| 
 | ||||
|  | @ -54,9 +52,7 @@ def invert(image): | |||
| def lighter(image1, image2): | ||||
|     """ | ||||
|     Compares the two images, pixel by pixel, and returns a new image containing | ||||
|     the lighter values. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     the lighter values. :: | ||||
| 
 | ||||
|         out = max(image1, image2) | ||||
| 
 | ||||
|  | @ -71,9 +67,7 @@ def lighter(image1, image2): | |||
| def darker(image1, image2): | ||||
|     """ | ||||
|     Compares the two images, pixel by pixel, and returns a new image containing | ||||
|     the darker values. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     the darker values. :: | ||||
| 
 | ||||
|         out = min(image1, image2) | ||||
| 
 | ||||
|  | @ -88,9 +82,7 @@ def darker(image1, image2): | |||
| def difference(image1, image2): | ||||
|     """ | ||||
|     Returns the absolute value of the pixel-by-pixel difference between the two | ||||
|     images. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     images. :: | ||||
| 
 | ||||
|         out = abs(image1 - image2) | ||||
| 
 | ||||
|  | @ -107,9 +99,7 @@ def multiply(image1, image2): | |||
|     Superimposes two images on top of each other. | ||||
| 
 | ||||
|     If you multiply an image with a solid black image, the result is black. If | ||||
|     you multiply with a solid white image, the image is unaffected. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     you multiply with a solid white image, the image is unaffected. :: | ||||
| 
 | ||||
|         out = image1 * image2 / MAX | ||||
| 
 | ||||
|  | @ -123,9 +113,7 @@ def multiply(image1, image2): | |||
| 
 | ||||
| def screen(image1, image2): | ||||
|     """ | ||||
|     Superimposes two inverted images on top of each other. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     Superimposes two inverted images on top of each other. :: | ||||
| 
 | ||||
|         out = MAX - ((MAX - image1) * (MAX - image2) / MAX) | ||||
| 
 | ||||
|  | @ -176,9 +164,7 @@ def overlay(image1, image2): | |||
| def add(image1, image2, scale=1.0, offset=0): | ||||
|     """ | ||||
|     Adds two images, dividing the result by scale and adding the | ||||
|     offset. If omitted, scale defaults to 1.0, and offset to 0.0. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     offset. If omitted, scale defaults to 1.0, and offset to 0.0. :: | ||||
| 
 | ||||
|         out = ((image1 + image2) / scale + offset) | ||||
| 
 | ||||
|  | @ -193,9 +179,7 @@ def add(image1, image2, scale=1.0, offset=0): | |||
| def subtract(image1, image2, scale=1.0, offset=0): | ||||
|     """ | ||||
|     Subtracts two images, dividing the result by scale and adding the offset. | ||||
|     If omitted, scale defaults to 1.0, and offset to 0.0. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     If omitted, scale defaults to 1.0, and offset to 0.0. :: | ||||
| 
 | ||||
|         out = ((image1 - image2) / scale + offset) | ||||
| 
 | ||||
|  | @ -208,9 +192,7 @@ def subtract(image1, image2, scale=1.0, offset=0): | |||
| 
 | ||||
| 
 | ||||
| def add_modulo(image1, image2): | ||||
|     """Add two images, without clipping the result. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     """Add two images, without clipping the result. :: | ||||
| 
 | ||||
|         out = ((image1 + image2) % MAX) | ||||
| 
 | ||||
|  | @ -223,9 +205,7 @@ def add_modulo(image1, image2): | |||
| 
 | ||||
| 
 | ||||
| def subtract_modulo(image1, image2): | ||||
|     """Subtract two images, without clipping the result. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     """Subtract two images, without clipping the result. :: | ||||
| 
 | ||||
|         out = ((image1 - image2) % MAX) | ||||
| 
 | ||||
|  | @ -243,9 +223,7 @@ def logical_and(image1, image2): | |||
|     Both of the images must have mode "1". If you would like to perform a | ||||
|     logical AND on an image with a mode other than "1", try | ||||
|     :py:meth:`~PIL.ImageChops.multiply` instead, using a black-and-white mask | ||||
|     as the second image. | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     as the second image. :: | ||||
| 
 | ||||
|         out = ((image1 and image2) % MAX) | ||||
| 
 | ||||
|  | @ -260,9 +238,7 @@ def logical_and(image1, image2): | |||
| def logical_or(image1, image2): | ||||
|     """Logical OR between two images. | ||||
| 
 | ||||
|     Both of the images must have mode "1". | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     Both of the images must have mode "1". :: | ||||
| 
 | ||||
|         out = ((image1 or image2) % MAX) | ||||
| 
 | ||||
|  | @ -277,9 +253,7 @@ def logical_or(image1, image2): | |||
| def logical_xor(image1, image2): | ||||
|     """Logical XOR between two images. | ||||
| 
 | ||||
|     Both of the images must have mode "1". | ||||
| 
 | ||||
|     .. code-block:: python | ||||
|     Both of the images must have mode "1". :: | ||||
| 
 | ||||
|         out = ((bool(image1) != bool(image2)) % MAX) | ||||
| 
 | ||||
|  |  | |||
|  | @ -297,27 +297,21 @@ class FreeTypeFont: | |||
|         string due to kerning. If you need to adjust for kerning, include the following | ||||
|         character and subtract its length. | ||||
| 
 | ||||
|         For example, instead of | ||||
| 
 | ||||
|         .. code-block:: python | ||||
|         For example, instead of :: | ||||
| 
 | ||||
|           hello = font.getlength("Hello") | ||||
|           world = font.getlength("World") | ||||
|           hello_world = hello + world  # not adjusted for kerning | ||||
|           assert hello_world == font.getlength("HelloWorld")  # may fail | ||||
| 
 | ||||
|         use | ||||
| 
 | ||||
|         .. code-block:: python | ||||
|         use :: | ||||
| 
 | ||||
|           hello = font.getlength("HelloW") - font.getlength("W")  # adjusted for kerning | ||||
|           world = font.getlength("World") | ||||
|           hello_world = hello + world  # adjusted for kerning | ||||
|           assert hello_world == font.getlength("HelloWorld")  # True | ||||
| 
 | ||||
|         or disable kerning with (requires libraqm) | ||||
| 
 | ||||
|         .. code-block:: python | ||||
|         or disable kerning with (requires libraqm) :: | ||||
| 
 | ||||
|           hello = draw.textlength("Hello", font, features=["-kern"]) | ||||
|           world = draw.textlength("World", font, features=["-kern"]) | ||||
|  |  | |||
|  | @ -96,9 +96,7 @@ directory. | |||
| Example | ||||
| ------- | ||||
| 
 | ||||
| The following is a simplified version of the script used on AppVeyor: | ||||
| 
 | ||||
| .. code-block:: | ||||
| The following is a simplified version of the script used on AppVeyor:: | ||||
| 
 | ||||
|     set PYTHON=C:\Python38\bin | ||||
|     cd /D C:\Pillow\winbuild | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user