From 9c79686a3081f9928daedaeac423058a8ab1483d Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Fri, 17 Mar 2023 12:02:56 +0100 Subject: [PATCH] Deprecate tostring_rgb. As noted previously, silently dropping alpha can be confusing. Also, directly accessing the buffer array is more efficient (it does not involve copying to a string buffer) and should cover most use cases. --- doc/api/next_api_changes/deprecations/XXXXX-AL.rst | 3 +++ lib/matplotlib/backends/backend_agg.py | 2 ++ 2 files changed, 5 insertions(+) create mode 100644 doc/api/next_api_changes/deprecations/XXXXX-AL.rst diff --git a/doc/api/next_api_changes/deprecations/XXXXX-AL.rst b/doc/api/next_api_changes/deprecations/XXXXX-AL.rst new file mode 100644 index 000000000000..41a0c09bb22c --- /dev/null +++ b/doc/api/next_api_changes/deprecations/XXXXX-AL.rst @@ -0,0 +1,3 @@ +``RendererAgg.tostring_rgb`` and ``FigureCanvasAgg.tostring_rgb`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +... are deprecated with no replacement. diff --git a/lib/matplotlib/backends/backend_agg.py b/lib/matplotlib/backends/backend_agg.py index 47892aacd425..3d7dfa57a82e 100644 --- a/lib/matplotlib/backends/backend_agg.py +++ b/lib/matplotlib/backends/backend_agg.py @@ -280,6 +280,7 @@ def buffer_rgba(self): def tostring_argb(self): return np.asarray(self._renderer).take([3, 0, 1, 2], axis=2).tobytes() + @_api.deprecated("3.8") def tostring_rgb(self): return np.asarray(self._renderer).take([0, 1, 2], axis=2).tobytes() @@ -414,6 +415,7 @@ def get_renderer(self, cleared=False): self.renderer.clear() return self.renderer + @_api.deprecated("3.8") def tostring_rgb(self): """ Get the image as RGB `bytes`.