Integration with NumPy
NumPy & ImageSurface
Creating an ImageSurface from a NumPy array:
import numpy
import cairo
width, height = 255, 255
data = numpy.ndarray(shape=(height, width), dtype=numpy.uint32)
surface = cairo.ImageSurface.create_for_data(
data, cairo.FORMAT_ARGB32, width, height)
Creating a NumPy array from an ImageSurface:
import numpy
import cairo
width, height = 255, 255
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height)
buf = surface.get_data()
data = numpy.ndarray(shape=(height, width),
dtype=numpy.uint32,
buffer=buf)