我正在尝试使用ImageMagick创建视频,以创建一些叠加层,然后放置在视频之上。
如果我尝试直接使用ImageMagick创建的图像,则透明度将被绘制为不透明。
我使用ImageMagick绘制命令创建了一个透明的PNG。当加载到GIMP并进行检查时,PNG具有alpha通道,并且每个透明像素看起来都具有透明度:RGBA = 0,0,0,0
此图像在ffmpeg中用作叠加层时,视频中只有一个不透明的黑色背景。
如果我再次从GIMP导出图像,则文件看起来完全相同,但在视频中只显示为纯蓝色(叠加图像中图形的颜色)。
我可以通过获取叠加图像,将其加载到GIMP中然后选择全部并从剪贴板创建新图像并将其导出(使用与我之前重新导出时完全相同的设置而不创建新文件)来解决此问题。然后它将完全按照需要工作,显示覆盖层的非透明部分,而不显示透明部分。
关键问题:
如何编写在GIMP中创建新文件时以某种方式发生的转换的脚本,或者(更好)首先没有出错?
以下是两个文件:
BROKEN: 作品: 有什么区别?
答案 0 :(得分:2)
我建议您在使用带有PNG32:
的ImageMagick时强制输出文件名,以强制它生成32位像素图像 - 即R,G,B和Alpha各1个字节,并希望{{1对此感到高兴。
ffmpeg
如果您在损坏的工作图像上运行convert input.png -draw ... PNG32:output.png
(也在ImageMagick套件中),您会发现主要区别在于工作图像有identify -verbose
和color-type=6
而破碎的图片有bit-depth=8
和color-type=3 (indexed)