PIL image library
When using pip install PIL, the following error is reported:
Collecting PIL
Could not find a version that satisfies the requirement PIL (from versions: )
No matching distribution found for PIL
What actually needs to be installed isPillow
sudo pip install Pillow
Sample code:
# coding:utf-8
from PIL import Image, ImageDraw, ImageFont
def add_text_to_image(image, text):
font = ImageFont.truetype('C:\Windows\Fonts\STXINGKA.TTF', 36)
# 添加背景
new_img = Image.new('RGBA', (image.size[0] * 3, image.size[1] * 3), (0, 0, 0, 0))
new_img.paste(image, image.size)
# 添加水印
font_len = len(text)
rgba_image = new_img.convert('RGBA')
text_overlay = Image.new('RGBA', rgba_image.size, (255, 255, 255, 0))
image_draw = ImageDraw.Draw(text_overlay)
for i in range(0, rgba_image.size[0], font_len*40+100):
for j in range(0, rgba_image.size[1], 200):
image_draw.text((i, j), text, font=font, fill=(0, 0, 0, 50))
text_overlay = text_overlay.rotate(-45)
image_with_text = Image.alpha_composite(rgba_image, text_overlay)
# 裁切图片
image_with_text = image_with_text.crop((image.size[0], image.size[1], image.size[0] * 2, image.size[1] * 2))
return image_with_text
if __name__ == '__main__':
img = Image.open("test.jpg")
im_after = add_text_to_image(img, '石家庄')
im_after.save('水印.png')
Python3
Mode can not be RGBA
written asJPEG
JPG
It does not support transparency, RGBA
for red, green, blue Alpha
transparency
You need to discard Alpha
channel or save it as something that supports transparency such asPNG
Image class has a method of conversion, it can be used to RGBA
convert RBG
then you can use JPG
the
im = Image.open("audacious.png")
rgb_im = im.convert('RGB')
rgb_im.save('audacious.jpg')