[关闭]
@chenwei123 2018-02-07T08:34:05.000000Z 字数 1169 阅读 407

图片处理库PIL

Python


图片缩放

  1. from PIL import Image
  2. #打开一个 jpg 图像文件,注意是当前路径:
  3. im = Image.open('/Users/chen/Desktop/gif/11.png')
  4. #获得图片尺寸:
  5. w,h = im.size
  6. print('Original image size:%sx%s' % (w,h))
  7. #缩放到50%:
  8. im.thumbnail((w//2, h//2))
  9. print('Resize image to: %sx%s'%(w//2, h//2))
  10. #把缩放后的图像保存:
  11. im.save('/Users/chen/Desktop/gif/thumbnail.png')

图片模糊效果

  1. from PIL import Image, ImageFilter
  2. im = Image.open('/Users/chen/Desktop/gif/11.png')
  3. #应用模糊滤镜:
  4. im2 = im.filter(ImageFilter.BLUR)
  5. im2.save('/Users/chen/Desktop/gif/blur.png')

生成字母验证码图片

  1. from PIL import Image, ImageDraw, ImageFont, ImageFilter
  2. import random
  3. #随机字母:
  4. def rndChar():
  5. return chr(random.randint(65, 90))
  6. #随机颜色1:
  7. def rndColor():
  8. return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))
  9. #随机颜色2:
  10. def rndColor2():
  11. return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127),)
  12. #240x60
  13. width = 60*4
  14. height=60
  15. image = Image.new('RGB', (width, height), (255,255,255))
  16. #创建 font 对象:
  17. font = ImageFont.truetype('Arial.ttf', 36)
  18. #创建 Draw 对象:
  19. draw = ImageDraw.Draw(image)
  20. #填充每个像素:
  21. for x in range(width):
  22. for y in range(height):
  23. draw.point((x,y), fill=rndColor())
  24. #输出文字:
  25. for t in range(4):
  26. draw.text((60*t + 10, 10), rndChar(), font=font, fill=rndColor2())
  27. #模糊:
  28. image = image.filter(ImageFilter.BLUR)
  29. image.save('code.jpg', 'jpeg')

示例图片

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注