Constructor

GdkPixbuf.Pixbuf.new_from_stream_at_scale

Declaration [src]

GdkPixbuf*
gdk_pixbuf_new_from_stream_at_scale (
  GInputStream* stream,
  gint width,
  gint height,
  gboolean preserve_aspect_ratio,
  GCancellable* cancellable,
  GError** error
)

Description [src]

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 GInputStream*
 

a GInputStream to load the pixbuf from

 Ownership is not transferred to the callee
width gint
 

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

height gint
 

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

preserve_aspect_ratio gboolean
 

TRUE to preserve the image’s aspect ratio

cancellable GCancellable*
 

optional GCancellable object, NULL to ignore

 Can be NULL
 Ownership is not transferred to the callee

Return value

Returns: GdkPixbuf

A newly-created pixbuf

Ownership of the data is transferred to the caller
Can be NULL