上一节中提到的思路有一个小问题(脸好疼?):thumbnail这个缩放方法只能将一张图片按比例缩小,不能随意改变图片大小。
因此这一节中我们不用这个方法,而是改用resize()方法来实现对原始图片像素尺寸的更改(http://effbot.org/imagingbook/image.htm#tag-Image.Image.resize)。
resize接受一个图片的size参数, 以及反应图片质量的filter参数。其中size是由width,height组成的元组, filter有Image.NEAREST, Image.BILINEAR, Image.BICUBIC, Image.ANTIALIAS五种模式,默认为Image.NEAREST模式。
参考下面这张心形图(图片来自互联网),整个拼图过程可分为resize图片/创建背景图片/粘贴图片三个过程;其中,粘贴图片又分为粘贴心形图的左上角、粘贴心形的右上角、粘贴剩余部分三个过程。