aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ext_depends/imageformats/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext_depends/imageformats/README.md')
-rw-r--r--src/ext_depends/imageformats/README.md37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/ext_depends/imageformats/README.md b/src/ext_depends/imageformats/README.md
new file mode 100644
index 0000000..c9c0b36
--- /dev/null
+++ b/src/ext_depends/imageformats/README.md
@@ -0,0 +1,37 @@
+# imageformats [![Build Status](https://travis-ci.org/lgvz/imageformats.svg)](https://travis-ci.org/lgvz/imageformats)
+
+- Returned image data is 8-bit except PNG can also return 16-bit.
+- Image data can be converted to Y, YA, RGB or RGBA.
+- There's a `@nogc` remake: [imagefmt](https://github.com/tjhann/imagefmt)
+
+**Decoders:**
+- PNG. 8-bit and 16-bit interlaced and paletted (+`tRNS` chunk)
+- TGA. 8-bit non-paletted
+- BMP. 8-bit uncompressed
+- JPEG. baseline
+
+**Encoders:**
+- PNG. 8-bit non-paletted non-interlaced
+- TGA. 8-bit non-paletted rle-compressed
+- BMP. 8-bit uncompressed
+
+```D
+import imageformats;
+
+void main() {
+ IFImage i0 = read_image("peruna.png");
+ IFImage i1 = read_image("peruna.png", ColFmt.YA); // convert
+ IFImage i2 = read_image("peruna.png", ColFmt.RGB);
+
+ write_image("peruna.tga", i0.w, i0.h, i0.pixels);
+ write_image("peruna.tga", i0.w, i0.h, i0.pixels, ColFmt.RGBA);
+
+ int w, h, chans;
+ read_image_info("peruna.png", w, h, chans);
+
+ // format specific functions
+ PNG_Header hdr = read_png_header("peruna.png");
+ IFImage i3 = read_jpeg("porkkana.jpg");
+ write_tga("porkkana.tga", i3.w, i3.h, i3.pixels);
+}
+```