Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If NULL is returned, then error will be set. Possible errors are in the GDK_PIXBUF_ERROR and G_FILE_ERROR domains.

The image will be scaled to fit in the requested size, preserving the image's aspect ratio. Note that the returned pixbuf may be smaller than width x height, if the aspect ratio requires it. To load and image at the requested size, regardless of aspect ratio, use Pixbuf.newFromFileAtScale.


filename string

Name of file to load, in the GLib file name encoding

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

Return Value

A newly-created pixbuf with a reference count of 1, or NULL if any of several error conditions occurred: the file could not be opened, there was no loader for the file's format, there was not enough memory to allocate the image buffer, or the image file contained invalid data.


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