diff --git a/konabot/plugins/image_process/__init__.py b/konabot/plugins/image_process/__init__.py index 288748a..df19ecf 100644 --- a/konabot/plugins/image_process/__init__.py +++ b/konabot/plugins/image_process/__init__.py @@ -171,6 +171,20 @@ async def _( rframes.append(selected_frames[max(2, len(selected_frames) // 2)]) rdur.append(20) + transparency_flag = False + for f in rframes: + if f.mode == "RGBA": + if any(pix < 255 for pix in f.getchannel("A").getdata()): + transparency_flag = True + break + elif f.mode == "P" and "transparency" in f.info: + transparency_flag = True + break + + tf = {} + if transparency_flag: + tf['transparency'] = 0 + if rframes: rframes[0].save( output_img, @@ -181,7 +195,7 @@ async def _( loop=0, optimize=False, disposal=2, - transparency=0, + **tf, ) else: raise BotExceptionMessage("错误:没有可输出的帧")