diff --git a/docs/handbook/tutorial.rst b/docs/handbook/tutorial.rst index 2777feaee..1f76beafa 100644 --- a/docs/handbook/tutorial.rst +++ b/docs/handbook/tutorial.rst @@ -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