ImageData:encode now supports saving exr image files.

Also add support for loading uint exr image files, and fix a memory leak in the exr loading code.

Resolves #1813.
This commit is contained in:
slime
2022-09-10 23:17:42 -03:00
parent 9be43d671c
commit 9c46b75138
9 changed files with 236 additions and 27 deletions
+8 -5
View File
@@ -36,15 +36,18 @@ class EXRHandler : public FormatHandler
{
public:
virtual ~EXRHandler() {}
// Implements FormatHandler.
virtual bool canDecode(Data *data);
virtual bool canEncode(PixelFormat rawFormat, EncodedFormat encodedFormat);
bool canDecode(Data *data) override;
bool canEncode(PixelFormat rawFormat, EncodedFormat encodedFormat) override;
virtual DecodedImage decode(Data *data);
virtual EncodedImage encode(const DecodedImage &img, EncodedFormat format);
DecodedImage decode(Data *data) override;
EncodedImage encode(const DecodedImage &img, EncodedFormat format) override;
virtual void freeRawPixels(unsigned char *mem);
void freeRawPixels(unsigned char *mem) override;
void freeEncodedImage(unsigned char *mem) override;
}; // EXRHandler