Pixbuf.this

Creates a new pixbuf by loading an image from an input stream.

The file format is detected automatically. If NULL is returned, then error will be set. The cancellable can be used to abort the operation from another thread. If the operation was cancelled, the error G_IO_ERROR_CANCELLED will be returned. Other possible errors are in the GDK_PIXBUF_ERROR and G_IO_ERROR domains.

The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio.

When preserving the aspect ratio, a width of -1 will cause the image to be scaled to the exact given height, and a height of -1 will cause the image to be scaled to the exact given width. If both width and height are given, this function will behave as if the smaller of the two values is passed as -1.

When not preserving aspect ratio, a width or height of -1 means to not scale the image at all in that dimension.

The stream is not closed.

Parameters

stream InputStream

a gio.InputStream to load the pixbuf from

width int

The width the image should have or -1 to not constrain the width

height int

The height the image should have or -1 to not constrain the height

preserveAspectRatio bool

TRUE to preserve the image's aspect ratio

cancellable Cancellable

optional gio.Cancellable object, NULL to ignore

Return Value

A newly-created pixbuf, or NULL if any of several error conditions occurred: the file could not be opened, the image format is not supported, there was not enough memory to allocate the image buffer, the stream contained invalid data, or the operation was cancelled.

Throws

GException on failure. ConstructionException GTK+ fails to create the object.

Meta

Since

2.14