Pixbuf.newFromStreamAtScale

gdkpixbuf.pixbuf.Pixbuf newFromStreamAtScale(gio.input_stream.InputStream stream, int width, int height, bool preserveAspectRatio, gio.cancellable.Cancellable cancellable = null)

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 [gio.types.IOErrorEnum.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

streama [gio.input_stream.InputStream] to load the pixbuf from
widthThe width the image should have or -1 to not constrain the width
heightThe height the image should have or -1 to not constrain the height
preserveAspectRatioTRUE to preserve the image's aspect ratio
cancellableoptional [gio.cancellable.Cancellable] object, NULL to ignore

Returns

A newly-created pixbuf

Throws

[ErrorWrap]