预计本章简稿完成日期: 2018-07-18
创建图片
dutchflag.jpg
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- # Author: xurongzhong#126.com wechat:pythontesting qq:37391319
- # 技术支持 钉钉群: 21745728(可以加钉钉 pythontesting 邀请加入)
- # qq 群: 144081101 591302926 567351477
- # CreateDate: 2018-6-12
- # dutchflag.py
- from PIL import Image
- def dutchflag(width, height):
- """Return new image of Dutch flag."""
- img = Image.new("RGB", (width, height))
- for j in range(height):
- for i in range(width):
- if j < height/3:
- img.putpixel((i, j), (255, 0, 0))
- elif j < 2*height/3:
- img.putpixel((i, j), (0, 255, 0))
- else:
- img.putpixel((i, j), (0, 0, 255))
- return img
- def main():
- img = dutchflag(600, 400)
- img.save("dutchflag.jpg")
- main()
创建图片
把下面图片转为灰度图:
lake.jpg
结果:
lake_gray.jpg
代码:
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- # Author: xurongzhong#126.com wechat:pythontesting qq:37391319
- # 技术支持 钉钉群: 21745728(可以加钉钉 pythontesting 邀请加入)
- # qq 群: 144081101 591302926 567351477
- # CreateDate: 2018-6-12
- # grayscale.py
- from PIL import Image
- def grayscale(img):
- """Return copy of img in grayscale."""
- width, height = img.size
- newimg = Image.new("RGB", (width, height))
- for j in range(height):
- for i in range(width):
- r, g, b = img.getpixel((i, j))
- avg = (r + g + b) // 3
- newimg.putpixel((i, j), (avg, avg, avg))
- return newimg
- def main():
- img = Image.open("lake.jpg")
- newimg = grayscale(img)
- newimg.save("lake_gray.jpg")
- main()
实际应用中, convert 方法已经帮我们做好了这些, 参见 grayscale2.py
代码:
- #!/usr/bin/env python3
- #!/usr/bin/env python3
- # -*- coding: utf-8 -*-
- # Author: xurongzhong#126.com wechat:pythontesting qq:37391319
- # 技术支持 钉钉群: 21745728(可以加钉钉 pythontesting 邀请加入)
- # qq 群: 144081101 591302926 567351477
- # CreateDate: 2018-6-12
- # grayscale2.py
- from PIL import Image
- Image.open("lake.jpg").convert("L").save("lake_gray.jpg")
来源: http://www.jianshu.com/p/c56519d82dba