diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2022-06-24 08:06:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-24 08:06:01 +0200 |
commit | 913598fec166b4742c6242f46b8b51a4df30f6fb (patch) | |
tree | a8ab02ab3b198dfe2911198fbc087dada1e0c5b3 | |
parent | ecf187705eb59632cefa649b0f4b44dd3569c0fb (diff) | |
parent | 42f7f0894ed4884a0360ca583c955359e1c90e87 (diff) |
Merge pull request #62368 from V-Sekai/exr-bug
Restore the openexr grayscale property.
-rw-r--r-- | core/io/image.cpp | 4 | ||||
-rw-r--r-- | core/io/image.h | 2 | ||||
-rw-r--r-- | doc/classes/Image.xml | 8 |
3 files changed, 11 insertions, 3 deletions
diff --git a/core/io/image.cpp b/core/io/image.cpp index 97a46c29db..f065dac212 100644 --- a/core/io/image.cpp +++ b/core/io/image.cpp @@ -2324,11 +2324,11 @@ Error Image::save_exr(const String &p_path, bool p_grayscale) const { return save_exr_func(p_path, Ref<Image>((Image *)this), p_grayscale); } -Vector<uint8_t> Image::save_exr_to_buffer() const { +Vector<uint8_t> Image::save_exr_to_buffer(bool p_grayscale) const { if (save_exr_buffer_func == nullptr) { return Vector<uint8_t>(); } - return save_exr_buffer_func(Ref<Image>((Image *)this), false); + return save_exr_buffer_func(Ref<Image>((Image *)this), p_grayscale); } Error Image::save_webp(const String &p_path, const bool p_lossy, const float p_quality) const { diff --git a/core/io/image.h b/core/io/image.h index 10c1156dae..2cad26f3e9 100644 --- a/core/io/image.h +++ b/core/io/image.h @@ -294,7 +294,7 @@ public: Error save_jpg(const String &p_path, float p_quality = 0.75) const; Vector<uint8_t> save_png_to_buffer() const; Vector<uint8_t> save_jpg_to_buffer(float p_quality = 0.75) const; - Vector<uint8_t> save_exr_to_buffer() const; + Vector<uint8_t> save_exr_to_buffer(bool p_grayscale) const; Error save_exr(const String &p_path, bool p_grayscale) const; Error save_webp(const String &p_path, const bool p_lossy = false, const float p_quality = 0.75f) const; Vector<uint8_t> save_webp_to_buffer(const bool p_lossy = false, const float p_quality = 0.75f) const; diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index d2baf78a9e..43b03ce65e 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -380,6 +380,14 @@ [b]Note:[/b] The TinyEXR module is disabled in non-editor builds, which means [method save_exr] will return [constant ERR_UNAVAILABLE] when it is called from an exported project. </description> </method> + <method name="save_exr_to_buffer" qualifiers="const"> + <return type="PackedByteArray" /> + <argument index="0" name="grayscale" type="bool" default="false" /> + <description> + Saves the image as an EXR file to a byte array. If [code]grayscale[/code] is [code]true[/code] and the image has only one channel, it will be saved explicitly as monochrome rather than one red channel. This function will return an empty byte array if Godot was compiled without the TinyEXR module. + [b]Note:[/b] The TinyEXR module is disabled in non-editor builds, which means [method save_exr] will return an empty byte array when it is called from an exported project. + </description> + </method> <method name="save_jpg" qualifiers="const"> <return type="int" enum="Error" /> <argument index="0" name="path" type="String" /> |