Surface.createSimilarImage

cairo.surface.Surface createSimilarImage(cairo.types.Format format, int width, int height)

Create a new image surface that is as compatible as possible for uploading to and the use in conjunction with an existing surface. However, this surface can still be used like any normal image surface. Unlike [cairo.surface.Surface.createSimilar] the new image surface won't inherit the device scale from other.

Initially the surface contents are all 0 (transparent if contents have transparency, black otherwise.)

Use [cairo.surface.Surface.createSimilar] if you don't need an image surface.

Parameters

formatthe format for the new surface
widthwidth of the new surface, (in pixels)
heightheight of the new surface (in pixels)

Returns

a pointer to the newly allocated image surface. The caller

owns the surface and should call [cairo.surface.Surface.destroy] when done with it.

This function always returns a valid pointer, but it will return a pointer to a "nil" surface if other is already in an error state or any other error occurs.