全速加载中...
登录
首页
文章
随笔
留言
友链
订阅
关于
更多
湘ICP备2021007748号-4
湘公网安备案湘公网安备43052202000137号
又拍云

如何解决pylottie中convertLottie2GIF生成GIF出现黑色背景问题

一,前言:

在python中使用pylottie插件中的convertLottie2GIF方法生成gif图时候,发现最后生成的动图,会出现黑色背景一闪而过,如下图。网上找了一番也没发现相关问题,问了ai推荐让我使用 python-lottie(但我没用),并没有给出为什么convertLottie2GIF出现闪黑的解决方法。

注意:当前使用的pylottie版本为 2024

pylottie版本
python 复制代码
from pylottie import convertLottie2GIF
# 单个文件转换
convertLottie2GIF("lottie.json", "动图.gif")
问题图

二,解决方法

CTRL+左键点击 convertLottie2GIF方法查看源码,看了一下他里面的convertMultLottie2GIF方法,发现transparency=0,这是将调色板索引0设为透明色。感觉应该是没问题。但问题就是出现在这,将它注释之后即可!

python 复制代码
def convertMultLottie2GIF(fileNames: list[str], newFileNames: list[str], quality: int = 1):
	"""Convert to gif

	Args:
	----
		fileNames (list[str]): list of file path to the lottie files
		newFileNames (list[str]): name of the files to write
		quality (int, optional): Quality of the returned sequence. Defaults to 1.

	"""
	imageDataList = convertLotties2PIL(fileNames, quality)
	for index, imageData in enumerate(imageDataList):
		images = imageData[0]
		duration = imageData[1]
		images[0].save(
			newFileNames[index],
			save_all=True,
			append_images=images[1:],
			duration=duration * 1000 / len(images),
			loop=0,
			#transparency=0,  #重点将这个注释!
			disposal=2,
		)
	rmtree("temp", ignore_errors=True)

最后结果:

结果图
本文作者:ZhangApple ,转载请注明并附上本文链接。

上一篇 下一篇

评论一下

评论列表

 
暂无评论
ZhangApple
更多
发布日期:2025年05月21日