mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-14 03:07:35 +03:00
Crop is no longer lazy [ci skip]
This commit is contained in:
parent
6072e2e595
commit
bd600c6966
|
@ -183,20 +183,11 @@ Rolling an image
|
||||||
|
|
||||||
part1 = image.crop((0, 0, delta, ysize))
|
part1 = image.crop((0, 0, delta, ysize))
|
||||||
part2 = image.crop((delta, 0, xsize, ysize))
|
part2 = image.crop((delta, 0, xsize, ysize))
|
||||||
part1.load()
|
|
||||||
part2.load()
|
|
||||||
image.paste(part2, (0, 0, xsize-delta, ysize))
|
|
||||||
image.paste(part1, (xsize-delta, 0, xsize, ysize))
|
image.paste(part1, (xsize-delta, 0, xsize, ysize))
|
||||||
|
image.paste(part2, (0, 0, xsize-delta, ysize))
|
||||||
|
|
||||||
return image
|
return image
|
||||||
|
|
||||||
Note that when pasting it back from the :py:meth:`~PIL.Image.Image.crop`
|
|
||||||
operation, :py:meth:`~PIL.Image.Image.load` is called first. This is because
|
|
||||||
cropping is a lazy operation. If :py:meth:`~PIL.Image.Image.load` was not
|
|
||||||
called, then the crop operation would not be performed until the images were
|
|
||||||
used in the paste commands. This would mean that ``part1`` would be cropped from
|
|
||||||
the version of ``image`` already modified by the first paste.
|
|
||||||
|
|
||||||
For more advanced tricks, the paste method can also take a transparency mask as
|
For more advanced tricks, the paste method can also take a transparency mask as
|
||||||
an optional argument. In this mask, the value 255 indicates that the pasted
|
an optional argument. In this mask, the value 255 indicates that the pasted
|
||||||
image is opaque in that position (that is, the pasted image should be used as
|
image is opaque in that position (that is, the pasted image should be used as
|
||||||
|
|
Loading…
Reference in New Issue
Block a user