On 01/07/2016 9:35 AM, Benjamin Schaaf wrote:
daffodil is a image processing library inspired by python's Pillow
(https://pillow.readthedocs.org/). It is an attempt at designing a
clean, extensible and transparent API.

https://github.com/BenjaminSchaaf/daffodil
https://benjaminschaaf.github.io/daffodil/

The library makes full use out of D's templates and metaprogramming. The
internal storage mechanism is entirely configurable from almost every
endpoint. File headers are directly loaded into structs defining them,
removing most of the difficulties in reading them according to spec. The
image type and loading API is entirely extensible, making extra image
formats entirely self-contained.

Currently only loading and saving of simple BMP images is supported,
with convolution and Gaussian Blur filters and flip transformations. Its
still early in development, but I'd love to get some feedback on it.

Example:
---
import daffodil;
import daffodil.filter;
import daffodil.transform;

void main() {
    auto image = load!32("daffodil.bmp");

    image.gaussianBlurred(1.4).save("blurry_daffodil.bmp");

    image.flipped!"y".save("upside_down_daffodil.bmp");
}
---

The license is MIT, so feel free to do whatever you want with the code.
Issues and pull requests are of course welcome ;)

Alongside I've also written (an admittedly hacky) sphinx
(http://www.sphinx-doc.org/en/stable/) extension that provides a domain
and autodocumenter for D, using libdparse and pyd.

Doesn't use allocators or Manu's color work, yup yup not interested.

Reply via email to