JPG and PNG decoder
cal
callumenator at gmail.com
Sun Jun 17 16:49:11 PDT 2012
On Sunday, 17 June 2012 at 23:17:54 UTC, Stewart Gordon wrote:
>> You two should fuse it into one module, to give us
>> loading/writing.
>> That would be quite cool.
>
> I don't know how much of the code will need rewriting in order
> to support interlacing or all PNG colour types/depths.
>
> But I also began writing a PNG library a while back - with the
> intention that it will be a full PNG editing library, not just
> encoding/decoding of the image data. But I haven't had much
> time to work on it recently. And it would help a lot if we
> could have the replacement for std.stream some time soon.
>
> Stewart.
I just pushed an update which implements a PNG encoder. It is
implemented in the Image class as a write method. If you have a
raw buffer, and want to encode it, you can do something like this:
ubyte[] data = some data;
Image img = new Img!(Px.R8G8B8)(width, height, data);
img.write("mypng.png");
It uses adaptive filtering, and should work with the pixel
formats supported by the image class (except for the 16 bit ones
I've just realised). I've only tested it on images that I have
previously loaded in however.
Stewart, I used your makepng.d as a template for this, can I add
you to the author list?
Also, if preferred, I can keep the master branch as a single
merged module, just let me know.
Cheers,
cal
More information about the Digitalmars-d-announce
mailing list