since: 2.4

Declaration [src]

gdk_pixbuf_new_from_file_at_size (
  const char* filename,
  int width,
  int height,
  GError** error

Description [src]

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:

  • the file could not be opened
  • there is no loader for the file’s format
  • there is not enough memory to allocate the image buffer
  • the image buffer contains invalid data

The error domains are GDK_PIXBUF_ERROR and G_FILE_ERROR.

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 gdk_pixbuf_new_from_file_at_scale().

Available since: 2.4



Type: const char*

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

The data is owned by the caller of the function.
The value is a file system path, using the OS encoding.

Type: int

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


Type: int

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


Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the constructor if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: GdkPixbuf

A newly-created pixbuf.

The caller of the function takes ownership of the data, and is responsible for freeing it.
The return value can be NULL.