imagefmt

Image loading/saving. @nogc


Keywords
library, graphics, nogc, gamedev, dlang, image
License
BSD-2-Clause
Install
dub fetch imagefmt --version 2.1.2

Documentation

imagefmt

Image loader and saver for simple needs with support for custom IO and allocators. Independent of the garbage collector.

Decoders:

  • PNG, 8-bit and 16-bit interlaced and paletted (+tRNS chunk)
  • BMP, 8-bit
  • TGA, 8-bit non-paletted
  • JPEG, baseline

Encoders:

  • PNG, 8-bit non-paletted non-interlaced
  • BMP, 8-bit RGB RGBA
  • TGA, 8-bit

Returned buffers are 8-bit by default, other options are 16-bit and 8/16-bit based on source data. The top-left corner is at (0, 0) by default.

import imagefmt;

IFImage a = read_image("aya.jpg", 3);     // convert to rgb
if (a.e) {
    printf("*** load error: %s\n", IF_ERROR[a.e].ptr);
    return;
}
scope(exit) a.free();

IFInfo info = read_info("vine.tga");
printf("size: %d x %d   components: %d\n", info.w, info.h, info.c);