From a6b36f0b6bd91a899b6a4038b7f875ce5382776b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 22 Jan 2026 00:28:26 +1100 Subject: [PATCH] format overrides file extension when saving --- src/PIL/Image.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 88f79a792..e7357cc27 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2631,14 +2631,20 @@ class Image: # only set the name for metadata purposes filename = os.fspath(fp.name) - filename_ext = os.path.splitext(filename)[1].lower() - ext = filename_ext.decode() if isinstance(filename_ext, bytes) else filename_ext - - # Try importing only the plugin for this extension first - if not _import_plugin_for_extension(ext): + if format: preinit() + else: + filename_ext = os.path.splitext(filename)[1].lower() + ext = ( + filename_ext.decode() + if isinstance(filename_ext, bytes) + else filename_ext + ) + + # Try importing only the plugin for this extension first + if not _import_plugin_for_extension(ext): + preinit() - if not format: if ext not in EXTENSION: init() try: