## gimpfileops

gimpfileops — File operations (load, save, etc.)

## Synopsis

    gchar*      gimp_temp_name                  (const gchar *extension);
    gint32      gimp_file_load                  (GimpRunMode run_mode,
                                                 const gchar *filename,
                                                 const gchar *raw_filename);
    gint32      gimp_file_load_layer            (GimpRunMode run_mode,
                                                 gint32 image_ID,
                                                 const gchar *filename);
    gboolean    gimp_file_save                  (GimpRunMode run_mode,
                                                 gint32 image_ID,
                                                 gint32 drawable_ID,
                                                 const gchar *filename,
                                                 const gchar *raw_filename);
    gboolean    gimp_register_magic_load_handler
                                                (const gchar *procedure_name,
                                                 const gchar *extensions,
                                                 const gchar *prefixes,
                                                 const gchar *magics);
    gboolean    gimp_register_load_handler      (const gchar *procedure_name,
                                                 const gchar *extensions,
                                                 const gchar *prefixes);
    gboolean    gimp_register_save_handler      (const gchar *procedure_name,
                                                 const gchar *extensions,
                                                 const gchar *prefixes);
    gboolean    gimp_register_file_handler_mime (const gchar *procedure_name,
                                                 const gchar *mime_type);
    gboolean    gimp_register_thumbnail_loader  (const gchar *load_proc,
                                                 const gchar *thumb_proc);

## Description

File operations (load, save, etc.)

## Details

### gimp_temp_name ()

    gchar*      gimp_temp_name                  (const gchar *extension);

Generates a unique filename.

Generates a unique filename using the temp path supplied in the user's gimprc.

`extension` : | The extension the file will have.
Returns : | The new temp filename.

### gimp_file_load ()

    gint32      gimp_file_load                  (GimpRunMode run_mode,
                                                 const gchar *filename,
                                                 const gchar *raw_filename);

Loads an image file by invoking the right load handler.

This procedure invokes the correct file load handler using magic if possible, and falling back on the file's extension and/or prefix if not. The name of the file to load is typically a full pathname, and the name entered is what the user actually typed before prepending a directory path. The reason for this is that if the user types http://www.xcf/~gimp/ he wants to fetch a URL, and the full pathname will not look like a URL.\"

`run_mode` : | The run mode.
`filename` : | The name of the file to load.
`raw_filename` : | The name as entered by the user.
Returns : | The output image.

### gimp_file_load_layer ()

    gint32      gimp_file_load_layer            (GimpRunMode run_mode,
                                                 gint32 image_ID,
                                                 const gchar *filename);

Loads an image file as a layer into an already opened image.

This procedure behaves like the file-load procedure but opens the specified image as a layer into an already opened image.

`run_mode` : | The run mode.
`image_ID` : | Destination image.
`filename` : | The name of the file to load.
Returns : | The layer created when loading the image file.

Since GIMP 2.4

### gimp_file_save ()

    gboolean    gimp_file_save                  (GimpRunMode run_mode,
                                                 gint32 image_ID,
                                                 gint32 drawable_ID,
                                                 const gchar *filename,
                                                 const gchar *raw_filename);

Saves a file by extension.

This procedure invokes the correct file save handler according to the file's extension and/or prefix. The name of the file to save is typically a full pathname, and the name entered is what the user actually typed before prepending a directory path. The reason for this is that if the user types http://www.xcf/~gimp/ she wants to fetch a URL, and the full pathname will not look like a URL.

`run_mode` : | The run mode.
`image_ID` : | Input image.
`drawable_ID` : | Drawable to save.
`filename` : | The name of the file to save the image in.
`raw_filename` : | The name as entered by the user.
Returns : | TRUE on success.

### gimp_register_magic_load_handler ()

    gboolean    gimp_register_magic_load_handler
                                                (const gchar *procedure_name,
                                                 const gchar *extensions,
                                                 const gchar *prefixes,
                                                 const gchar *magics);

Registers a file load handler procedure.

Registers a procedural database procedure to be called to load files of a particular file format using magic file information.

`procedure_name` : | The name of the procedure to be used for loading.
`extensions` : | comma separated list of extensions this handler can load (i.e. \"jpg,jpeg\").
`prefixes` : | comma separated list of prefixes this handler can load (i.e. \"http:,ftp:\").
`magics` : | comma separated list of magic file information this handler can load (i.e. \"0,string,GIF\").
Returns : | TRUE on success.

### gimp_register_load_handler ()

    gboolean    gimp_register_load_handler      (const gchar *procedure_name,
                                                 const gchar *extensions,
                                                 const gchar *prefixes);

Registers a file load handler procedure.

Registers a procedural database procedure to be called to load files of a particular file format.

`procedure_name` : | The name of the procedure to be used for loading.
`extensions` : | comma separated list of extensions this handler can load (i.e. \"jpg,jpeg\").
`prefixes` : | comma separated list of prefixes this handler can load (i.e. \"http:,ftp:\").
Returns : | TRUE on success.

### gimp_register_save_handler ()

    gboolean    gimp_register_save_handler      (const gchar *procedure_name,
                                                 const gchar *extensions,
                                                 const gchar *prefixes);

Registers a file save handler procedure.

Registers a procedural database procedure to be called to save files in a particular file format.

`procedure_name` : | The name of the procedure to be used for saving.
`extensions` : | comma separated list of extensions this handler can save (i.e. \"jpg,jpeg\").
`prefixes` : | comma separated list of prefixes this handler can save (i.e. \"http:,ftp:\").
Returns : | TRUE on success.

### gimp_register_file_handler_mime ()

    gboolean    gimp_register_file_handler_mime (const gchar *procedure_name,
                                                 const gchar *mime_type);

Associates a MIME type with a file handler procedure.

Registers a MIME type for a file handler procedure. This allows GIMP to determine the MIME type of the file opened or saved using this procedure.

`procedure_name` : | The name of the procedure to associate a MIME type with.
`mime_type` : | A single MIME type, like for example \"image/jpeg\".
Returns : | TRUE on success.

Since GIMP 2.2

### gimp_register_thumbnail_loader ()

    gboolean    gimp_register_thumbnail_loader  (const gchar *load_proc,
                                                 const gchar *thumb_proc);

Associates a thumbnail loader with a file load procedure.

Some file formats allow for embedded thumbnails, other file formats contain a scalable image or provide the image data in different resolutions. A file plug-in for such a format may register a special procedure that allows GIMP to load a thumbnail preview of the image. This procedure is then associated with the standard load procedure using this function.

`load_proc` : | The name of the procedure the thumbnail loader with.
`thumb_proc` : | The name of the thumbnail load procedure.
Returns : | TRUE on success.

Since GIMP 2.2