Image decoders: PNG, TGA, BMP, JPEG. Encoders: PNG, TGA, BMP.


Keywords
jpeg, tga, image, bmp, png, dlang
License
MIT

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);