Merge pull request #1877 from radarhere/tutorial

Fixed tutorial code and added explanation
This commit is contained in:
wiredfool 2016-05-03 21:16:38 +01:00
commit 716a1ee833

View File

@ -184,11 +184,20 @@ Rolling an image
part1 = image.crop((0, 0, delta, 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))
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
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