Replace Python code-blocks with double colons

This commit is contained in:
Andrew Murray 2023-02-24 08:17:10 +11:00
parent a55c2b42b9
commit 742aff3718
19 changed files with 44 additions and 112 deletions

View File

@ -1402,9 +1402,7 @@ at 72 dpi. To load it at another resolution::
To add other read or write support, use To add other read or write support, use
:py:func:`PIL.WmfImagePlugin.register_handler` to register a WMF and EMF :py:func:`PIL.WmfImagePlugin.register_handler` to register a WMF and EMF
handler. handler. ::
.. code-block:: python
from PIL import Image from PIL import Image
from PIL import WmfImagePlugin from PIL import WmfImagePlugin

View File

@ -29,7 +29,7 @@ For example, in the following image, the text is ``ms`` (middle-baseline) aligne
:alt: ms (middle-baseline) aligned text. :alt: ms (middle-baseline) aligned text.
:align: left :align: left
.. code-block:: python ::
from PIL import Image, ImageDraw, ImageFont from PIL import Image, ImageDraw, ImageFont

View File

@ -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 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 using an external viewer (usually xv on Unix, and the Paint program on
Windows). Windows). ::
.. code-block:: python
from PIL import Image from PIL import Image
with Image.open("hopper.jpg") as im: 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 The following script creates nice thumbnails of all JPEG images in the
current directory preserving aspect ratios with 128x128 max resolution. current directory preserving aspect ratios with 128x128 max resolution. ::
.. code-block:: python
from PIL import Image from PIL import Image
import glob, os import glob, os
@ -242,9 +238,7 @@ This rotates the input image by ``theta`` degrees counter clockwise::
.. automethod:: PIL.Image.Image.transpose .. automethod:: PIL.Image.Image.transpose
This flips the input image by using the :data:`Transpose.FLIP_LEFT_RIGHT` This flips the input image by using the :data:`Transpose.FLIP_LEFT_RIGHT`
method. method. ::
.. code-block:: python
from PIL import Image from PIL import Image

View File

@ -16,7 +16,7 @@ For a more advanced drawing library for PIL, see the `aggdraw module`_.
Example: Draw a gray cross over an image Example: Draw a gray cross over an image
---------------------------------------- ----------------------------------------
.. code-block:: python ::
import sys import sys
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
@ -78,7 +78,7 @@ libraries, and may not available in all PIL builds.
Example: Draw Partial Opacity Text Example: Draw Partial Opacity Text
---------------------------------- ----------------------------------
.. code-block:: python ::
from PIL import Image, ImageDraw, ImageFont from PIL import Image, ImageDraw, ImageFont
@ -105,7 +105,7 @@ Example: Draw Partial Opacity Text
Example: Draw Multiline Text Example: Draw Multiline Text
---------------------------- ----------------------------
.. code-block:: python ::
from PIL import Image, ImageDraw, ImageFont 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 string due to kerning. If you need to adjust for kerning, include the following
character and subtract its length. character and subtract its length.
For example, instead of For example, instead of ::
.. code-block:: python
hello = draw.textlength("Hello", font) hello = draw.textlength("Hello", font)
world = draw.textlength("World", font) world = draw.textlength("World", font)
hello_world = hello + world # not adjusted for kerning hello_world = hello + world # not adjusted for kerning
assert hello_world == draw.textlength("HelloWorld", font) # may fail assert hello_world == draw.textlength("HelloWorld", font) # may fail
use use ::
.. code-block:: python
hello = draw.textlength("HelloW", font) - draw.textlength( hello = draw.textlength("HelloW", font) - draw.textlength(
"W", font "W", font
@ -617,9 +613,7 @@ Methods
hello_world = hello + world # adjusted for kerning hello_world = hello + world # adjusted for kerning
assert hello_world == draw.textlength("HelloWorld", font) # True assert hello_world == draw.textlength("HelloWorld", font) # True
or disable kerning with (requires libraqm) or disable kerning with (requires libraqm) ::
.. code-block:: python
hello = draw.textlength("Hello", font, features=["-kern"]) hello = draw.textlength("Hello", font, features=["-kern"])
world = draw.textlength("World", font, features=["-kern"]) world = draw.textlength("World", font, features=["-kern"])

View File

@ -10,7 +10,7 @@ for image enhancement.
Example: Vary the sharpness of an image Example: Vary the sharpness of an image
--------------------------------------- ---------------------------------------
.. code-block:: python ::
from PIL import ImageEnhance from PIL import ImageEnhance

View File

@ -15,7 +15,7 @@ and **xmllib** modules.
Example: Parse an image Example: Parse an image
----------------------- -----------------------
.. code-block:: python ::
from PIL import ImageFile from PIL import ImageFile

View File

@ -11,7 +11,7 @@ filters, which can be be used with the :py:meth:`Image.filter()
Example: Filter an image Example: Filter an image
------------------------ ------------------------
.. code-block:: python ::
from PIL import ImageFilter from PIL import ImageFilter

View File

@ -21,7 +21,7 @@ the imToolkit package.
Example Example
------- -------
.. code-block:: python ::
from PIL import ImageFont, ImageDraw from PIL import ImageFont, ImageDraw

View File

@ -11,7 +11,7 @@ an expression string and one or more images.
Example: Using the :py:mod:`~PIL.ImageMath` module Example: Using the :py:mod:`~PIL.ImageMath` module
-------------------------------------------------- --------------------------------------------------
.. code-block:: python ::
from PIL import Image, ImageMath from PIL import Image, ImageMath

View File

@ -10,7 +10,7 @@ iterate over the frames of an image sequence.
Extracting frames from an animation Extracting frames from an animation
----------------------------------- -----------------------------------
.. code-block:: python ::
from PIL import Image, ImageSequence from PIL import Image, ImageSequence

View File

@ -18,9 +18,7 @@ Example
------- -------
The following script loads an image, accesses one pixel from it, then The following script loads an image, accesses one pixel from it, then
changes it. changes it. ::
.. code-block:: python
from PIL import Image from PIL import Image
@ -35,9 +33,7 @@ Results in the following::
(23, 24, 68) (23, 24, 68)
(0, 0, 0) (0, 0, 0)
Access using negative indexes is also possible. Access using negative indexes is also possible. ::
.. code-block:: python
px[-1, -1] = (0, 0, 0) px[-1, -1] = (0, 0, 0)
print(px[-1, -1]) print(px[-1, -1])

View File

@ -17,9 +17,7 @@ The :py:mod:`~PIL.PyAccess` module provides a CFFI/Python implementation of the
Example Example
------- -------
The following script loads an image, accesses one pixel from it, then changes it. The following script loads an image, accesses one pixel from it, then changes it. ::
.. code-block:: python
from PIL import Image from PIL import Image
@ -34,9 +32,7 @@ Results in the following::
(23, 24, 68) (23, 24, 68)
(0, 0, 0) (0, 0, 0)
Access using negative indexes is also possible. Access using negative indexes is also possible. ::
.. code-block:: python
px[-1, -1] = (0, 0, 0) px[-1, -1] = (0, 0, 0)
print(px[-1, -1]) print(px[-1, -1])

View File

@ -10,9 +10,7 @@ Text stroking
``stroke_width`` and ``stroke_fill`` arguments have been added to text drawing ``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 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 and the color respectively. If not provided, ``stroke_fill`` will default to
the ``fill`` parameter. the ``fill`` parameter. ::
.. code-block:: python
from PIL import Image, ImageDraw, ImageFont from PIL import Image, ImageDraw, ImageFont
@ -28,9 +26,7 @@ the ``fill`` parameter.
draw.multiline_text((10, 10), "A\nB", "#f00", font, draw.multiline_text((10, 10), "A\nB", "#f00", font,
stroke_width=2, stroke_fill="#0f0") stroke_width=2, stroke_fill="#0f0")
For example, For example, ::
.. code-block:: python
from PIL import Image, ImageDraw, ImageFont from PIL import Image, ImageDraw, ImageFont

View File

@ -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 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 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 removed the ability to actually save a JPEG with zero quality. This has now
been resolved. been resolved. ::
.. code-block:: python
from PIL import Image from PIL import Image
im = Image.open("hopper.jpg") im = Image.open("hopper.jpg")

View File

@ -76,9 +76,7 @@ ImageDraw.rounded_rectangle
Added :py:meth:`~PIL.ImageDraw.ImageDraw.rounded_rectangle`. It works the same as Added :py:meth:`~PIL.ImageDraw.ImageDraw.rounded_rectangle`. It works the same as
:py:meth:`~PIL.ImageDraw.ImageDraw.rectangle`, except with an additional ``radius`` :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 argument. ``radius`` is limited to half of the width or the height, so that users can
create a circle, but not any other ellipse. create a circle, but not any other ellipse. ::
.. code-block:: python
from PIL import Image, ImageDraw from PIL import Image, ImageDraw
im = Image.new("RGB", (200, 200)) im = Image.new("RGB", (200, 200))

View File

@ -24,9 +24,7 @@ Added "transparency" argument for loading EPS images
This new argument switches the Ghostscript device from "ppmraw" to "pngalpha", 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 generating an RGBA image with a transparent background instead of an RGB image with a
white background. white background. ::
.. code-block:: python
with Image.open("sample.eps") as im: with Image.open("sample.eps") as im:
im.load(transparency=True) im.load(transparency=True)

View File

@ -182,17 +182,13 @@ GifImagePlugin loading strategy
Pillow 9.0.0 introduced the conversion of subsequent GIF frames to ``RGB`` or ``RGBA``. This 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 behaviour can now be changed so that the first ``P`` frame is converted to ``RGB`` as
well. well. ::
.. code-block:: python
from PIL import GifImagePlugin from PIL import GifImagePlugin
GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_ALWAYS GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_ALWAYS
Or subsequent frames can be kept in ``P`` mode as long as there is only a single Or subsequent frames can be kept in ``P`` mode as long as there is only a single
palette. palette. ::
.. code-block:: python
from PIL import GifImagePlugin from PIL import GifImagePlugin
GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_AFTER_DIFFERENT_PALETTE_ONLY GifImagePlugin.LOADING_STRATEGY = GifImagePlugin.LoadingStrategy.RGB_AFTER_DIFFERENT_PALETTE_ONLY

View File

@ -38,9 +38,7 @@ def duplicate(image):
def invert(image): def invert(image):
""" """
Invert an image (channel). Invert an image (channel). ::
.. code-block:: python
out = MAX - image out = MAX - image
@ -54,9 +52,7 @@ def invert(image):
def lighter(image1, image2): def lighter(image1, image2):
""" """
Compares the two images, pixel by pixel, and returns a new image containing Compares the two images, pixel by pixel, and returns a new image containing
the lighter values. the lighter values. ::
.. code-block:: python
out = max(image1, image2) out = max(image1, image2)
@ -71,9 +67,7 @@ def lighter(image1, image2):
def darker(image1, image2): def darker(image1, image2):
""" """
Compares the two images, pixel by pixel, and returns a new image containing Compares the two images, pixel by pixel, and returns a new image containing
the darker values. the darker values. ::
.. code-block:: python
out = min(image1, image2) out = min(image1, image2)
@ -88,9 +82,7 @@ def darker(image1, image2):
def difference(image1, image2): def difference(image1, image2):
""" """
Returns the absolute value of the pixel-by-pixel difference between the two Returns the absolute value of the pixel-by-pixel difference between the two
images. images. ::
.. code-block:: python
out = abs(image1 - image2) out = abs(image1 - image2)
@ -107,9 +99,7 @@ def multiply(image1, image2):
Superimposes two images on top of each other. Superimposes two images on top of each other.
If you multiply an image with a solid black image, the result is black. If 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. you multiply with a solid white image, the image is unaffected. ::
.. code-block:: python
out = image1 * image2 / MAX out = image1 * image2 / MAX
@ -123,9 +113,7 @@ def multiply(image1, image2):
def screen(image1, image2): def screen(image1, image2):
""" """
Superimposes two inverted images on top of each other. Superimposes two inverted images on top of each other. ::
.. code-block:: python
out = MAX - ((MAX - image1) * (MAX - image2) / MAX) out = MAX - ((MAX - image1) * (MAX - image2) / MAX)
@ -176,9 +164,7 @@ def overlay(image1, image2):
def add(image1, image2, scale=1.0, offset=0): def add(image1, image2, scale=1.0, offset=0):
""" """
Adds two images, dividing the result by scale and adding the Adds two images, dividing the result by scale and adding the
offset. If omitted, scale defaults to 1.0, and offset to 0.0. offset. If omitted, scale defaults to 1.0, and offset to 0.0. ::
.. code-block:: python
out = ((image1 + image2) / scale + offset) 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): def subtract(image1, image2, scale=1.0, offset=0):
""" """
Subtracts two images, dividing the result by scale and adding the offset. Subtracts two images, dividing the result by scale and adding the offset.
If omitted, scale defaults to 1.0, and offset to 0.0. If omitted, scale defaults to 1.0, and offset to 0.0. ::
.. code-block:: python
out = ((image1 - image2) / scale + offset) out = ((image1 - image2) / scale + offset)
@ -208,9 +192,7 @@ def subtract(image1, image2, scale=1.0, offset=0):
def add_modulo(image1, image2): def add_modulo(image1, image2):
"""Add two images, without clipping the result. """Add two images, without clipping the result. ::
.. code-block:: python
out = ((image1 + image2) % MAX) out = ((image1 + image2) % MAX)
@ -223,9 +205,7 @@ def add_modulo(image1, image2):
def subtract_modulo(image1, image2): def subtract_modulo(image1, image2):
"""Subtract two images, without clipping the result. """Subtract two images, without clipping the result. ::
.. code-block:: python
out = ((image1 - image2) % MAX) 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 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 logical AND on an image with a mode other than "1", try
:py:meth:`~PIL.ImageChops.multiply` instead, using a black-and-white mask :py:meth:`~PIL.ImageChops.multiply` instead, using a black-and-white mask
as the second image. as the second image. ::
.. code-block:: python
out = ((image1 and image2) % MAX) out = ((image1 and image2) % MAX)
@ -260,9 +238,7 @@ def logical_and(image1, image2):
def logical_or(image1, image2): def logical_or(image1, image2):
"""Logical OR between two images. """Logical OR between two images.
Both of the images must have mode "1". Both of the images must have mode "1". ::
.. code-block:: python
out = ((image1 or image2) % MAX) out = ((image1 or image2) % MAX)
@ -277,9 +253,7 @@ def logical_or(image1, image2):
def logical_xor(image1, image2): def logical_xor(image1, image2):
"""Logical XOR between two images. """Logical XOR between two images.
Both of the images must have mode "1". Both of the images must have mode "1". ::
.. code-block:: python
out = ((bool(image1) != bool(image2)) % MAX) out = ((bool(image1) != bool(image2)) % MAX)

View File

@ -297,27 +297,21 @@ class FreeTypeFont:
string due to kerning. If you need to adjust for kerning, include the following string due to kerning. If you need to adjust for kerning, include the following
character and subtract its length. character and subtract its length.
For example, instead of For example, instead of ::
.. code-block:: python
hello = font.getlength("Hello") hello = font.getlength("Hello")
world = font.getlength("World") world = font.getlength("World")
hello_world = hello + world # not adjusted for kerning hello_world = hello + world # not adjusted for kerning
assert hello_world == font.getlength("HelloWorld") # may fail assert hello_world == font.getlength("HelloWorld") # may fail
use use ::
.. code-block:: python
hello = font.getlength("HelloW") - font.getlength("W") # adjusted for kerning hello = font.getlength("HelloW") - font.getlength("W") # adjusted for kerning
world = font.getlength("World") world = font.getlength("World")
hello_world = hello + world # adjusted for kerning hello_world = hello + world # adjusted for kerning
assert hello_world == font.getlength("HelloWorld") # True assert hello_world == font.getlength("HelloWorld") # True
or disable kerning with (requires libraqm) or disable kerning with (requires libraqm) ::
.. code-block:: python
hello = draw.textlength("Hello", font, features=["-kern"]) hello = draw.textlength("Hello", font, features=["-kern"])
world = draw.textlength("World", font, features=["-kern"]) world = draw.textlength("World", font, features=["-kern"])