Up: cl-cffi-gtk4 API documentation

Package gdk-pixbuf

GDK-Pixbuf is a library for image loading and manipulation. The GDK-Pixbuf documentation contains both the programmer's guide and the API reference. This is the API documentation of a Lisp binding to the GDK-Pixbuf library.

About This Package

Library version numbers
The GdkPixbuf object
File Loading
File Saving
Image Data in Memory
Scaling
Utilities
Animations
GdkPixbufLoader
Module Interface

Library version numbers

These macros and variables let you check the version of GDK-Pixbuf you are linking against.
Contains the full version of the GDK-Pixbuf library as a string. ...

The major version number of the GDK-Pixbuf library. ...

The minor version number of the GDK-Pixbuf library. ...

The micro version number of the GDK-Pixbuf library. ...

The GdkPixbuf object

This enumeration defines the color spaces that are supported by the GDK-Pixbuf library. ...

The gdk-pixbuf:pixbuf object contains information that describes an image in memory. ...

Accessor of the bits-per-sample slot of the gdk-pixbuf:pixbuf class. ...

Accessor of the colorspace slot of the gdk-pixbuf:pixbuf class. ...

Accessor of the has-alpha slot of the gdk-pixbuf:pixbuf class. ...

Accessor of the height slot of the gdk-pixbuf:pixbuf class. ...

Accessor of the n-channels slot of the gdk-pixbuf:pixbuf class. ...

Accessor of the pixel-bytes slot of the gdk-pixbuf:pixbuf class. ...

Accessor of the pixels slot of the gdk-pixbuf:pixbuf class. ...

Accessor of the rowstride slot of the gdk-pixbuf:pixbuf class. ...

Accessor of the width slot of the gdk-pixbuf:pixbuf class. ...

Queries a pointer to the pixel data of a pixbuf. ...

Returns the length of the pixel data, in bytes. ...

The gdk-pixbuf:pixbuf-option function looks up key in the list of options that may have been attached to the pixbuf when it was loaded, or that may have been attached. ...

Remove the key/value pair option attached to a pixbuf. ...

Copy the key/value pair options attached to a pixbuf to another. ...

Returns a read-only pointer to the raw pixel data. ...

File Loading


Introduction to fileloading

The GDK-Pixbuf 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.

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 gdk-pixbuf:pixbuf-loader API functionality instead.

Functions for file loading

Creates a new pixbuf by loading an image from a file. ...

Creates a new pixbuf by loading an image from a file. ...

Creates a new pixbuf by loading an image from a file. ...

Creates a new pixbuf by loading an image from a resource. ...

Creates a new pixbuf by loading an image from an resource. ...

Parses an image file far enough to determine its format and size. ...

Asynchronously parses an image file far enough to determine its format and size. ...

Finishes an asynchronous pixbuf parsing operation started with the gdk-pixbuf:pixbuf-file-info-async function. ...

File Saving


Introduction to file saving

These functions allow to save a gdk-pixbuf:pixbuf object in a number of file formats. The formatted data can be written to a file or to a memory buffer. The gdk-pixbuf:pixbuf library can also call a user-defined callback on the data, which allows to write the image to a socket or store it in a database.

Functions for file saving

Saves pixbuf to a file in format type. ...

Image Data in Memory


Introduction to image data in memory

The most basic way to create a pixbuf is to wrap an existing pixel buffer with a gdk-pixbuf:pixbuf object. You can use the gdk-pixbuf:pixbuf-new-from-data function to do this. You need to specify the destroy notification function that will be called when the data buffer needs to be freed. This will happen when a gdk-pixbuf:pixbuf object is finalized by the reference counting functions If you have a chunk of static data compiled into your application, you can pass in nil as the destroy notification function so that the data will not be freed.

The gdk-pixbuf:pixbuf-new function can be used as a convenience to create a pixbuf with an empty buffer. This is equivalent to allocating a data buffer using malloc() and then wrapping it with the gdk-pixbuf:pixbuf-new-from-data function. The gdk-pixbuf:pixbuf-new function will compute an optimal rowstride so that rendering can be performed with an efficient algorithm.

You can also copy an existing pixbuf with the gdk-pixbuf:pixbuf-copy function. The copy function will actually duplicate the pixel data in memory and create a new gdk-pixbuf:pixbuf instance for it.

Functions for image data in memory

Creates a new gdk-pixbuf:pixbuf object and allocates a buffer for it. ...

Creates a new gdk-pixbuf:pixbuf object out of in-memory readonly image data. ...

Creates a new pixbuf which represents a sub-region of pixbuf. ...

Creates a new gdk-pixbuf:pixbuf object with a copy of the information in the specified pixbuf. ...

Scaling


Introduction to scaling

The gdk-pixbuf:pixbuf library contains functions to scale pixbufs, to scale pixbufs and composite against an existing image, and to scale pixbufs and composite against a solid color or checkerboard. Compositing a checkerboard is a common way to show an image with an alpha channel in image-viewing and editing software.

Since the full-featured gdk-pixbuf:pixbuf-scale, gdk-pixbuf:pixbuf-composite, and gdk-pixbuf:pixbuf-composite-color functions are rather complex to use and have many arguments, two simple convenience functions are provided, the gdk-pixbuf:pixbuf-scale-simple and gdk-pixbuf:pixbuf-composite-color-simple functions which create a new pixbuf of a given size, scale an original image to fit, and then return the new pixbuf.

If the destination pixbuf was created from a readonly source, these operations will force a copy into a mutable buffer.

Scaling and compositing functions take advantage of MMX hardware acceleration on systems where MMX is supported. If the gdk-pixbuf:pixbuf library is built with the Sun mediaLib library, these functions are instead accelerated using mediaLib, which provides hardware acceleration on Intel, AMD, and Sparc chipsets. If desired, mediaLib support can be turned off by setting the GDK_DISABLE_MEDIALIB environment variable.

The following example demonstrates handling an expose event by rendering the appropriate area of a source image, which is scaled to fit the widget, onto the window of the widget. The source image is rendered against a checkerboard, which provides a visual representation of the alpha channel if the image has one. If the image does not have an alpha channel, calling the gdk-pixbuf:pixbuf-composite-color function has exactly the same effect as calling the gdk-pixbuf:pixbuf-scale function.

Example: Handling an expose event.
gboolean
expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
  GdkPixbuf *dest;

dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, event->area.width, event->area.height);

gdk_pixbuf_composite_color (pixbuf, dest, 0, 0, event->area.width, event->area.height, -event->area.x, -event->area.y, (double) widget->allocation.width / gdk_pixbuf_get_width (pixbuf), (double) widget->allocation.height / gdk_pixbuf_get_height (pixbuf), GDK_INTERP_BILINEAR, 255, event->area.x, event->area.y, 16, 0xaaaaaa, 0x555555);

gdk_draw_pixbuf (widget->window, widget->style->fg_gc[GTK_STATE_NORMAL], dest, 0, 0, event->area.x, event->area.y, event->area.width, event->area.height, GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);

gdk_pixbuf_unref (dest);

return TRUE; }

Functions for scaling

This enumeration describes the different interpolation modes that can be used with the scaling functions. ...

The possible rotations which can be passed to the gdk-pixbuf:pixbuf-rotate-simple function. ...

Create a new gdk-pixbuf:pixbuf object containing a copy of src scaled to width x height. ...

Creates a transformation of the source image src by scaling by xscale and yscale then translating by xoffset and yoffset, then renders the rectangle (x,y,width,height) of the resulting image onto the destination image replacing the previous contents. ...

Creates a new gdk-pixbuf:pixbuf object by scaling src to width x height and compositing the result with a checkboard of colors color1 and color2. ...

Creates a transformation of the source image src by scaling by xscale and yscale then translating by xoffset and yoffset. ...

Creates a transformation of the source image src by scaling by xscale and yscale then translating by xoffset and yoffset, then composites the rectangle (x,y,width,height) of the resulting image with a checkboard of the colors color1 and color2 and renders it onto the destination image. ...

Rotates a pixbuf by a multiple of 90 degrees, and returns the result in a new pixbuf. ...

Flips a pixbuf horizontally or vertically and returns the result in a new pixbuf. ...

Utilities


Introduction to utilities

Utility and miscellaneous convenience functions. These functions provide miscellaneous utilities for manipulating pixbufs. The pixel data in pixbufs may of course be manipulated directly by applications, but several common operations can be performed by these functions instead.

Functions for utilities

Takes an existing pixbuf and adds an alpha channel to it. ...

Copies a rectangular area from src to dest. ...

Clears a pixbuf to the given RGBA value, converting the RGBA value into the pixel format of the pixbuf. ...

Animations

An opaque object representing an iterator which points to a certain position in an animation. ...

Gets the current pixbuf which should be displayed. ...

Gets the number of milliseconds the current pixbuf should be displayed, or -1 if the current pixbuf should be displayed forever. ...

Possibly advances an animation to a new frame. ...

Used to determine how to respond to the "area-updated" signal on the gdk-pixbuf:pixbuf-loader object when loading an animation. ...

The gdk-pixbuf:pixbuf library provides a simple mechanism to load and represent animations. ...

Accessor of the loop of the gdk-pixbuf:pixbuf-animation class. ...

Creates a new animation by loading it from a file. ...

Creates a new pixbuf animation by loading an image from an resource. ...

Queries the width of the bounding box of a pixbuf animation. ...

Queries the width of the bounding box of a pixbuf animation. ...

Get an iterator for displaying an animation. ...

If you load a file with the gdk-pixbuf:pixbuf-animation-new-from-file function and it turns out to be a plain, unanimated image, then this function will return true. ...

If an animation is really just a plain image, has only one frame, this function returns that image. ...

GdkPixbufLoader

The gdk-pixbuf:pixbuf-loader class provides a way for applications to drive the process of loading an image, by letting them send the image data directly to the loader instead of having the loader read the data from a file. ...

Creates a new pixbuf loader object. ...

This will cause a pixbuf loader to parse the next count bytes of an image. ...

Causes the image to be scaled while it is loaded. ...

Queries the gdk-pixbuf:pixbuf object that a pixbuf loader is currently creating. ...

Queries the gdk-pixbuf:pixbuf-animation object that a pixbuf loader is currently creating. ...

Informs a pixbuf loader that no further writes with the gdk-pixbuf:pixbuf-loader-write function will occur, so that it can free its internal loading structures. ...

Module Interface

The gdk-pixbuf:pixbuf-format structure contains information about the image format accepted by a module. ...

Obtains the available information about the image formats supported by the gdk-pixbuf:pixbuf API. ...

Returns the name of the image format. ...

Returns a description of the image format. ...

Returns the MIME types supported by the image format. ...

Returns the filename extensions typically used for files in the given image format. ...

Returns true if the save option specified by option is supported when saving a pixbuf using the module implementing the image format. ...

Returns whether pixbufs can be saved in the given image format. ...

Returns whether this image format is scalable. ...

Returns whether this image format is disabled. ...

Disables or enables an image format. ...

Returns information about the license of the image loader for the image format. ...

Exported Symbol Index

pixbuf, Class
pixbuf-animation, Class
pixbuf-animation-iter, Class
pixbuf-loader, Class
pixbuf-add-alpha, Function
pixbuf-animation-height, Function
pixbuf-animation-is-static-image, Function
pixbuf-animation-iter, Function
pixbuf-animation-iter-advance, Function
pixbuf-animation-iter-delay-time, Function
pixbuf-animation-iter-on-currently-loading-frame, Function
pixbuf-animation-iter-pixbuf, Function
pixbuf-animation-loop, Accessor
pixbuf-animation-new-from-file, Function
pixbuf-animation-new-from-resource, Function
pixbuf-animation-static-image, Function
pixbuf-animation-width, Function
pixbuf-bits-per-sample, Accessor
pixbuf-byte-length, Function
pixbuf-colorspace, Accessor
pixbuf-composite, Function
pixbuf-composite-color, Function
pixbuf-composite-color-simple, Function
pixbuf-copy, Function
pixbuf-copy-area, Function
pixbuf-copy-options, Function
pixbuf-file-info, Function
pixbuf-file-info-async, Function
pixbuf-file-info-finish, Function
pixbuf-fill, Function
pixbuf-flip, Function
pixbuf-format-description, Function
pixbuf-format-extensions, Function
pixbuf-format-is-disabled, Function
pixbuf-format-is-save-option-supported, Function
pixbuf-format-is-scalable, Function
pixbuf-format-is-writable, Function
pixbuf-format-license, Function
pixbuf-format-mime-types, Function
pixbuf-format-name, Function
pixbuf-format-set-disabled, Function
pixbuf-formats, Function
pixbuf-has-alpha, Accessor
pixbuf-height, Accessor
pixbuf-loader-animation, Function
pixbuf-loader-close, Function
pixbuf-loader-new, Function
pixbuf-loader-pixbuf, Function
pixbuf-loader-set-size, Function
pixbuf-loader-write, Function
pixbuf-n-channels, Accessor
pixbuf-new, Function
pixbuf-new-from-bytes, Function
pixbuf-new-from-file, Function
pixbuf-new-from-file-at-scale, Function
pixbuf-new-from-file-at-size, Function
pixbuf-new-from-resource, Function
pixbuf-new-from-resource-at-scale, Function
pixbuf-new-subpixbuf, Function
pixbuf-option, Function
pixbuf-pixel-bytes, Accessor
pixbuf-pixels, Accessor
pixbuf-pixels-with-length, Function
pixbuf-read-pixels, Function
pixbuf-remove-option, Function
pixbuf-rotate-simple, Function
pixbuf-rowstride, Accessor
pixbuf-save, Function
pixbuf-scale, Function
pixbuf-scale-simple, Function
pixbuf-width, Accessor
+major-version+, Constant
+micro-version+, Constant
+minor-version+, Constant
+version+, Constant
colorspace, GEnum
pixbuf-format, CStruct
pixbuf-interp-type, GEnum
pixbuf-rotation, GEnum