fltk.core.images
FLTK Images Library Bindings
This package provides low-level D bindings for the FLTK images library (libfltk_images), which adds support for loading various image formats.
Supported image formats:
- BMP (Windows Bitmap)
- GIF (Graphics Interchange Format)
- JPEG (Joint Photographic Experts Group)
- PNG (Portable Network Graphics)
- PNM/PPM/PGM (Portable Anymap)
- XBM (X BitMap)
- XPM (X PixMap)
Memory Management:
- Images created with
*_new()functions must be destroyed withfltk_image_delete() - Shared images use reference counting via
Fl_Shared_Image
Example:
import fltk.core.images;
void main() {
// Load a PNG image
auto img = fltk_png_image_new("photo.png");
if (img !is null) {
auto w = fltk_image_w(fltk_png_image_as_image(img));
auto h = fltk_image_h(fltk_png_image_as_image(img));
writefln("Image size: %dx%d", w, h);
fltk_png_image_delete(img);
}
}
License
Copyright
Types 27
Opaque handle for Fl_Image base class.
This is the base type for all image handles.
private void * ptrAlias for image handle
Opaque handle for Fl_RGB_Image.
RGB images store pixel data in RGB or RGBA format.
private void * ptrAlias for RGB image handle
Opaque handle for Fl_Bitmap.
Bitmaps are monochrome (1-bit) images.
private void * ptrAlias for bitmap handle
Opaque handle for Fl_Pixmap.
Pixmaps store images in XPM format.
private void * ptrAlias for pixmap handle
Opaque handle for Fl_Shared_Image.
Shared images are reference-counted and cached.
private void * ptrAlias for shared image handle
Opaque handle for Fl_BMP_Image.
private void * ptrAlias for BMP image handle
Opaque handle for Fl_GIF_Image.
private void * ptrAlias for GIF image handle
Opaque handle for Fl_JPEG_Image.
private void * ptrAlias for JPEG image handle
Opaque handle for Fl_PNG_Image.
private void * ptrAlias for PNG image handle
Opaque handle for Fl_PNM_Image.
private void * ptrAlias for PNM image handle
Opaque handle for Fl_XBM_Image.
private void * ptrAlias for XBM image handle
Opaque handle for Fl_XPM_Image.
private void * ptrAlias for XPM image handle
Opaque handle for Fl_Tiled_Image.
private void * ptrAlias for tiled image handle
Image loading error codes.
These values indicate the result of image loading operations.
Functions 63
bool isValid(FltkPngImage image) @safe nothrow @nogcChecks if a PNG image handle is valid (non-null).bool isValid(FltkJpegImage image) @safe nothrow @nogcChecks if a JPEG image handle is valid (non-null).bool isValid(FltkBmpImage image) @safe nothrow @nogcChecks if a BMP image handle is valid (non-null).bool isValid(FltkGifImage image) @safe nothrow @nogcChecks if a GIF image handle is valid (non-null).bool isValid(FltkSharedImage image) @safe nothrow @nogcChecks if a shared image handle is valid (non-null).const(ubyte *) * fltk_image_data(FltkImage image) extern(C) nothrow @nogcGets a pointer to the image pixel data.FltkImage fltk_image_copy(FltkImage image, int w, int h) extern(C) nothrow @nogcCreates a copy of the image, optionally scaled.void fltk_image_color_average(FltkImage image, uint color, float blend) extern(C) nothrow @nogcApplies a color average to the image.void fltk_image_inactive(FltkImage image) extern(C) nothrow @nogcCreates an inactive (grayed) version of the image.void fltk_image_desaturate(FltkImage image) extern(C) nothrow @nogcDesaturates the image in place.FltkRgbImage fltk_rgb_image_new(const(ubyte) * data, int w, int h, int d, int ld) extern(C) nothrow @nogcCreates a new RGB image from pixel data.FltkImage fltk_rgb_image_as_image(FltkRgbImage image) extern(C) nothrow @nogcCasts an RGB image to base image.FltkPngImage fltk_png_image_new(const(char) * filename) extern(C) nothrow @nogcCreates a new PNG image from a file.FltkPngImage fltk_png_image_new_data(const(ubyte) * data, int len) extern(C) nothrow @nogcCreates a new PNG image from memory data.FltkImage fltk_png_image_as_image(FltkPngImage image) extern(C) nothrow @nogcCasts a PNG image to base image.int fltk_png_image_fail(FltkPngImage image) extern(C) nothrow @nogcGets the error status of a PNG image load.FltkJpegImage fltk_jpeg_image_new(const(char) * filename) extern(C) nothrow @nogcCreates a new JPEG image from a file.FltkJpegImage fltk_jpeg_image_new_data(const(ubyte) * data, int len) extern(C) nothrow @nogcCreates a new JPEG image from memory data.FltkImage fltk_jpeg_image_as_image(FltkJpegImage image) extern(C) nothrow @nogcCasts a JPEG image to base image.int fltk_jpeg_image_fail(FltkJpegImage image) extern(C) nothrow @nogcGets the error status of a JPEG image load.FltkBmpImage fltk_bmp_image_new(const(char) * filename) extern(C) nothrow @nogcCreates a new BMP image from a file.FltkImage fltk_bmp_image_as_image(FltkBmpImage image) extern(C) nothrow @nogcCasts a BMP image to base image.int fltk_bmp_image_fail(FltkBmpImage image) extern(C) nothrow @nogcGets the error status of a BMP image load.FltkPnmImage fltk_pnm_image_new(const(char) * filename) extern(C) nothrow @nogcCreates a new PNM image from a file.FltkImage fltk_pnm_image_as_image(FltkPnmImage image) extern(C) nothrow @nogcCasts a PNM image to base image.int fltk_pnm_image_fail(FltkPnmImage image) extern(C) nothrow @nogcGets the error status of a PNM image load.FltkGifImage fltk_gif_image_new(const(char) * filename) extern(C) nothrow @nogcCreates a new GIF image from a file.FltkImage fltk_gif_image_as_image(FltkGifImage image) extern(C) nothrow @nogcCasts a GIF image to base image.int fltk_gif_image_fail(FltkGifImage image) extern(C) nothrow @nogcGets the error status of a GIF image load.FltkBitmap fltk_bitmap_new(const(ubyte) * bits, int w, int h) extern(C) nothrow @nogcCreates a new bitmap from XBM data.FltkImage fltk_bitmap_as_image(FltkBitmap bm) extern(C) nothrow @nogcCasts a bitmap to base image.FltkPixmap fltk_pixmap_new(const(char *) * data) extern(C) nothrow @nogcCreates a new pixmap from XPM data.FltkImage fltk_pixmap_as_image(FltkPixmap pm) extern(C) nothrow @nogcCasts a pixmap to base image.FltkXbmImage fltk_xbm_image_new(const(char) * filename) extern(C) nothrow @nogcCreates an XBM image from a file.FltkImage fltk_xbm_image_as_image(FltkXbmImage img) extern(C) nothrow @nogcCasts an XBM image to base image.int fltk_xbm_image_fail(FltkXbmImage img) extern(C) nothrow @nogcGets the error status of an XBM image load.FltkXpmImage fltk_xpm_image_new(const(char) * filename) extern(C) nothrow @nogcCreates an XPM image from a file.FltkImage fltk_xpm_image_as_image(FltkXpmImage img) extern(C) nothrow @nogcCasts an XPM image to base image.int fltk_xpm_image_fail(FltkXpmImage img) extern(C) nothrow @nogcGets the error status of an XPM image load.FltkTiledImage fltk_tiled_image_new(FltkImage image, int w, int h) extern(C) nothrow @nogcCreates a new tiled image from a source image.FltkImage fltk_tiled_image_as_image(FltkTiledImage ti) extern(C) nothrow @nogcCasts a tiled image to base image.FltkSharedImage fltk_shared_image_get(const(char) * filename) extern(C) nothrow @nogcGets a shared image from file (loads if not cached).FltkSharedImage fltk_shared_image_find(const(char) * filename) extern(C) nothrow @nogcFinds a shared image in the cache.void fltk_shared_image_release(FltkSharedImage image) extern(C) nothrow @nogcReleases a reference to a shared image.FltkImage fltk_shared_image_as_image(FltkSharedImage image) extern(C) nothrow @nogcCasts a shared image to base image.