File: //usr/local/ssl/share/gtk-doc/html/gdk-pixbuf/gdk-pixbuf-file-loading.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>File Loading</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="The gdk-pixbuf Library">
<link rel="up" href="rn01.html" title="API Reference">
<link rel="prev" href="gdk-pixbuf-refcounting.html" title="Reference Counting and Memory Mangement">
<link rel="next" href="gdk-pixbuf-file-saving.html" title="File saving">
<meta name="generator" content="GTK-Doc V1.6 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="reference" href="rn01.html" title="API Reference">
<link rel="reference" href="rn02.html" title="Tools Reference">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 2.2">
<link rel="index" href="ix04.html" title="Index of new symbols in 2.4">
<link rel="index" href="ix05.html" title="Index of new symbols in 2.6">
<link rel="index" href="ix06.html" title="Index of new symbols in 2.8">
<link rel="appendix" href="apa.html" title="Appendix A. Porting applications from Imlib to gdk-pixbuf">
<link rel="appendix" href="license.html" title="Appendix B. License">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gdk-pixbuf-refcounting.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="rn01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">The <span class="application">gdk-pixbuf</span> Library</th>
<td><a accesskey="n" href="gdk-pixbuf-file-saving.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id3096331" class="shortcut">Top</a>
 | 
<a href="#id3096514" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="gdk-pixbuf-file-loading"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id3096331"></a><span class="refentrytitle">File Loading</span>
</h2>
<p>File Loading — Loading a pixbuf from a file.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
#include <gdk-pixbuf/gdk-pixbuf.h>
<a href="gdk-pixbuf-gdk-pixbuf.html#GdkPixbuf">GdkPixbuf</a>* <a href="gdk-pixbuf-file-loading.html#gdk-pixbuf-new-from-file">gdk_pixbuf_new_from_file</a> (const char *filename,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a href="gdk-pixbuf-gdk-pixbuf.html#GdkPixbuf">GdkPixbuf</a>* <a href="gdk-pixbuf-file-loading.html#gdk-pixbuf-new-from-file-at-size">gdk_pixbuf_new_from_file_at_size</a>
(const char *filename,
int width,
int height,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a href="gdk-pixbuf-gdk-pixbuf.html#GdkPixbuf">GdkPixbuf</a>* <a href="gdk-pixbuf-file-loading.html#gdk-pixbuf-new-from-file-at-scale">gdk_pixbuf_new_from_file_at_scale</a>
(const char *filename,
int width,
int height,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> preserve_aspect_ratio,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a href="gdk-pixbuf-Module-Interface.html#GdkPixbufFormat">GdkPixbufFormat</a>* <a href="gdk-pixbuf-file-loading.html#gdk-pixbuf-get-file-info">gdk_pixbuf_get_file_info</a> (const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *filename,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> *width,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> *height);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3096514"></a><h2>Description</h2>
<p>
The <span class="application">gdk-pixbuf</span> library provides a simple mechanism for loading
an image from a file in synchronous fashion. This means that the
library takes control of the application while the file is being
loaded; from the user's point of view, the application will block
until the image is done loading.
</p>
<p>
This interface can be used by applications in which blocking is
acceptable while an image is being loaded. It can also be used to
load small images in general. Applications that need progressive
loading can use the <a href="GdkPixbufLoader.html" title="GdkPixbufLoader"><span class="type">GdkPixbufLoader</span></a> functionality instead.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id3096556"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id3096566"></a><h3>
<a name="gdk-pixbuf-new-from-file"></a>gdk_pixbuf_new_from_file ()</h3>
<a class="indexterm" name="id3096579"></a><pre class="programlisting"><a href="gdk-pixbuf-gdk-pixbuf.html#GdkPixbuf">GdkPixbuf</a>* gdk_pixbuf_new_from_file (const char *filename,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Creates a new pixbuf by loading an image from a file. The file format is
detected automatically. If <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> is returned, then <em class="parameter"><code>error</code></em> will be set.
Possible errors are in the <a href="gdk-pixbuf-gdk-pixbuf.html#GDK-PIXBUF-ERROR:CAPS"><span class="type">GDK_PIXBUF_ERROR</span></a> and <a
href="../glib/glib-File-Utilities.html#G-FILE-ERROR:CAPS"
><span class="type">G_FILE_ERROR</span></a> domains.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em> :</span></td>
<td> Name of file to load, in the GLib file name encoding
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em> :</span></td>
<td> Return location for an error
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A newly-created pixbuf with a reference count of 1, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> 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.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3096713"></a><h3>
<a name="gdk-pixbuf-new-from-file-at-size"></a>gdk_pixbuf_new_from_file_at_size ()</h3>
<a class="indexterm" name="id3096728"></a><pre class="programlisting"><a href="gdk-pixbuf-gdk-pixbuf.html#GdkPixbuf">GdkPixbuf</a>* gdk_pixbuf_new_from_file_at_size
(const char *filename,
int width,
int height,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Creates a new pixbuf by loading an image from a file. The file format is
detected automatically. If <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> is returned, then <em class="parameter"><code>error</code></em> will be set.
Possible errors are in the <a href="gdk-pixbuf-gdk-pixbuf.html#GDK-PIXBUF-ERROR:CAPS"><span class="type">GDK_PIXBUF_ERROR</span></a> and <a
href="../glib/glib-File-Utilities.html#G-FILE-ERROR:CAPS"
><span class="type">G_FILE_ERROR</span></a> domains.
The image will be scaled to fit in the requested size, preserving
the image's aspect ratio.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em> :</span></td>
<td> Name of file to load, in the GLib file name encoding
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>width</code></em> :</span></td>
<td> The width the image should have or -1 to not constrain the width
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>height</code></em> :</span></td>
<td> The height the image should have or -1 to not constrain the height
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em> :</span></td>
<td> Return location for an error
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A newly-created pixbuf with a reference count of 1, or
<a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> 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.
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3096913"></a><h3>
<a name="gdk-pixbuf-new-from-file-at-scale"></a>gdk_pixbuf_new_from_file_at_scale ()</h3>
<a class="indexterm" name="id3096929"></a><pre class="programlisting"><a href="gdk-pixbuf-gdk-pixbuf.html#GdkPixbuf">GdkPixbuf</a>* gdk_pixbuf_new_from_file_at_scale
(const char *filename,
int width,
int height,
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> preserve_aspect_ratio,
<a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Creates a new pixbuf by loading an image from a file. The file format is
detected automatically. If <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> is returned, then <em class="parameter"><code>error</code></em> will be set.
Possible errors are in the <a href="gdk-pixbuf-gdk-pixbuf.html#GDK-PIXBUF-ERROR:CAPS"><span class="type">GDK_PIXBUF_ERROR</span></a> and <a
href="../glib/glib-File-Utilities.html#G-FILE-ERROR:CAPS"
><span class="type">G_FILE_ERROR</span></a> domains.
The image will be scaled to fit in the requested size, optionally preserving
the image's aspect ratio.
</p>
<p>
When preserving the aspect ratio, a <em class="parameter"><code>width</code></em> of -1 will cause the image
to be scaled to the exact given height, and a <em class="parameter"><code>height</code></em> of -1 will cause
the image to be scaled to the exact given width. When not preserving
aspect ratio, a <em class="parameter"><code>width</code></em> or <em class="parameter"><code>height</code></em> of -1 means to not scale the image
at all in that dimension. Negative values for <em class="parameter"><code>width</code></em> and <em class="parameter"><code>height</code></em> are
allowed since 2.8.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em> :</span></td>
<td> Name of file to load, in the GLib file name encoding
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>width</code></em> :</span></td>
<td> The width the image should have or -1 to not constrain the width
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>height</code></em> :</span></td>
<td> The height the image should have or -1 to not constrain the height
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>preserve_aspect_ratio</code></em> :</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> to preserve the image's aspect ratio
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em> :</span></td>
<td> Return location for an error
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A newly-created pixbuf with a reference count of 1, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
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.
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.6
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3097189"></a><h3>
<a name="gdk-pixbuf-get-file-info"></a>gdk_pixbuf_get_file_info ()</h3>
<a class="indexterm" name="id3097204"></a><pre class="programlisting"><a href="gdk-pixbuf-Module-Interface.html#GdkPixbufFormat">GdkPixbufFormat</a>* gdk_pixbuf_get_file_info (const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *filename,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> *width,
<a
href="../glib/glib-Basic-Types.html#gint"
>gint</a> *height);</pre>
<p>
Parses an image file far enough to determine its format and size.</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em> :</span></td>
<td> The name of the file to identify.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>width</code></em> :</span></td>
<td> Return location for the width of the image, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>height</code></em> :</span></td>
<td> Return location for the height of the image, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
<td> A <a href="gdk-pixbuf-Module-Interface.html#GdkPixbufFormat"><span class="type">GdkPixbufFormat</span></a> describing the image format of the file
or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if the image format wasn't recognized. The return value
is owned by GdkPixbuf and should not be freed.
</td>
</tr>
</tbody>
</table></div>
<p>Since 2.4
</p>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id3097356"></a><h2>See Also</h2>
<p>
<a href="GdkPixbufLoader.html" title="GdkPixbufLoader"><span class="type">GdkPixbufLoader</span></a>.
</p>
</div>
</div>
</body>
</html>