PyAccess 模块#

这个 PyAccess 模块提供的cffi/python实现 PixelAccess 等级 . Pypy上的这个实现比PixelAccess版本快得多。

备注

访问单个像素相当慢。如果你在一个图像的所有像素上循环,那么使用PillowAPI的其他部分可能有一种更快的方法。

ImageImageChopsImageOps 有许多标准操作的方法。如果要执行自定义制图,请签出 point()

例子#

下面的脚本加载一幅图像,访问其中的一个像素,然后更改它。**

from PIL import Image

with Image.open("hopper.jpg") as im:
    px = im.load()
print(px[4, 4])
px[4, 4] = (0, 0, 0)
print(px[4, 4])

结果如下:

(23, 24, 68)
(0, 0, 0)

也可以使用负索引进行访问。**

px[-1, -1] = (0, 0, 0)
print(px[-1, -1])

PyAccess 等级#

class PIL.PyAccess.PyAccess[源代码]#
getpixel(xy)#

返回x,y处的像素。对于单波段图像,像素作为单个值返回,对于多波段图像,像素作为元组返回。

参数:

xy -- 像素坐标,表示为(x,y)。见 坐标系 .

返回:

单波段图像的像素值,多波段图像的像素值的元组。

putpixel(xy, color)#

修改x,y处的像素。对于单波段图像,颜色以单个数值表示,对于多波段图像,颜色以元组表示。

参数:
  • xy -- 像素坐标,表示为(x,y)。见 坐标系 .

  • color -- 像素值。