我希望能够从上传的图片(实际上是头像)生成32x32大小的缩略图。
为了防止缩略图比这个尺寸小,我想创建一个透明的32x32背景并将缩略图粘贴在上面。
下面的代码试图这样做。但是,头像显示在黑色和不透明的背景上;我在这个过程中丢失了透明度信息。我哪里做错了?
为了防止缩略图比这个尺寸小,我想创建一个透明的32x32背景并将缩略图粘贴在上面。
下面的代码试图这样做。但是,头像显示在黑色和不透明的背景上;我在这个过程中丢失了透明度信息。我哪里做错了?
def handle_image(img):
size = SMALL_AVATAR_IMAGE_SIZE
img.thumbnail(size, Image.ANTIALIAS)
img = img.convert('RGBA')
background = Image.new('RGBA', size, (255, 255, 255, 0))
background.paste(img, (0, (size[1] - img.size[1]) / 2), img)
img = background
processed_image_small = ContentFile(img.tostring('jpeg', img.mode))
targetpath = str(self.user.id) + '_S' + '.jpg'
self.img_small.save(targetpath, processed_image_small,save=False)