X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=image%2Fimage.hpp;h=857e0621c1386e5d9a72eb9dba6e9ff467a35322;hb=beda4440ab82ed4e8f7568fd5a19d8d595b748a3;hp=e36bdd0a2c174560dca1643da738adae1c3cdcbd;hpb=dfd413a5f54bd450850b5e84886949bcdf85b1e7;p=apitrace diff --git a/image/image.hpp b/image/image.hpp index e36bdd0..857e062 100644 --- a/image/image.hpp +++ b/image/image.hpp @@ -64,7 +64,7 @@ public: channelType(t), bytesPerPixel(channels * (t == TYPE_FLOAT ? 4 : 1)), flipped(f), - pixels(new unsigned char[h*w*c]) + pixels(new unsigned char[h*w*bytesPerPixel]) {} inline ~Image() { @@ -126,8 +126,20 @@ readPNG(std::istream &is); Image * readPNG(const char *filename); + +struct PNMInfo +{ + unsigned width; + unsigned height; + unsigned channels; + ChannelType channelType; +}; + const char * -readPNMHeader(const char *buffer, size_t size, unsigned *channels, unsigned *width, unsigned *height); +readPNMHeader(const char *buffer, size_t size, PNMInfo &info); + +Image * +readPNM(const char *buffer, size_t bufferSize); } /* namespace image */