from PIL import Image
img=Image.open("demo.jpg")
img_array=img.load()
然后就可以通过img_array[x,y]来读取像素值了
另外img.size查看图片大小,也可以通过img_array[x,y]=(11,22,33)来设置RGB像素值
生成一张纯色的图片
先设置图片的颜色,接着利用Image模块的new方法新生成一张图片,png格式的图片需要设置成rgba,类似的还有rgb,L(灰度图等),尺寸设定为640,480,这个可以根据自己的情况设定,颜色同样如此。
批量生成图片
上面生成了一张图片,那要生成十张图片呢,这种步骤一样,只是颜色改变的,利用循环就可以解决。首先创建一个颜色列表,把要生成的图片颜色放进去。接着循环获取不同的颜色,保存的时候利用字符串拼接的方法改变图片的名字。
本地生成的图片
封装成函数
前面的方法已经可以批量生成图片了,为了通用性强一点,我们可以封装成函数,把哪些可以改变的参数单独抽离出来。尺寸也同样,使用的时候,可以根据自己的需要定义颜色列表和尺寸。当然还有加一些提示用语和报错兼容性,这里就不讲了。
本地生成的图片
用image模块更直接,可以用getpixel获得像素值,给你个例子吧。01.#!/usr/bin/env python
02.import Image
03.import sys
04.im = Image.open(sys.argv[1])
05.width = im.size[0]
06.height = im.size[1]
07.print "/* width:%d */"%(width)
08.print "/* height:%d */"%(height)
09.count = 0
10.for h in range(0, height):
11. for w in range(0, width):
12.pixel = im.getpixel((w, h))
13.for i in range(0,3):
14. count = (count+1)%16
15. if (count == 0):
16.print "0x%02x,/n"%(pixel[i]),
17. else:
18.print "0x%02x,"%(pixel[i]),