From 42f7f0894ed4884a0360ca583c955359e1c90e87 Mon Sep 17 00:00:00 2001 From: "K. S. Ernest (iFire) Lee" Date: Thu, 23 Jun 2022 20:55:37 -0700 Subject: Restore the openexr grayscale property. --- core/io/image.cpp | 4 ++-- core/io/image.h | 2 +- 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 *)this), p_grayscale); } -Vector Image::save_exr_to_buffer() const { +Vector Image::save_exr_to_buffer(bool p_grayscale) const { if (save_exr_buffer_func == nullptr) { return Vector(); } - return save_exr_buffer_func(Ref((Image *)this), false); + return save_exr_buffer_func(Ref((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 save_png_to_buffer() const; Vector save_jpg_to_buffer(float p_quality = 0.75) const; - Vector save_exr_to_buffer() const; + Vector 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 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. + + + + + 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. + + -- cgit v1.2.3