Update- 我为回答这个问题添加了 50 点声誉赏金!
我有一个应用程序需要将一些视频和照片放在一起以创建电影。我正在使用 AVMutableComposition 来实现这一点。为了能够指示它如何合成视频,我必须使用 AVMutableVideoComposition。这个东西有一个属性叫backgroundColor
苹果文档说:
仅支持纯 BGRA 颜色;模式和其他支持
颜色被忽略。如果渲染的像素缓冲区没有 alpha,
背景颜色的 alpha 值将被忽略。
我从中了解到的是,有一种方法可以将 alpha 通道添加到背景颜色中,但我只是不明白如何操作。什么是If the rendered pixel buffer does not have alpha, the alpha value of the background color is ignored.
意思是?我怎样才能添加这样的东西?
如果我只是这样做myVideoCompositionInstruction.backgroundColor = [[UIColor colorWithWhite:1 alpha:0] CGColor];
它只是不起作用 - 背景保持白色并且不透明。
任何帮助将不胜感激,谢谢!
在Apple的文档中AVVideoCompositionInstruction
您要设置的属性,backgroundColor
, 属于类型CGColorRef
.
我敢打赌,因为你正在设置backgroundColor
with UIColor然后才可以通过CGColor属性,由于某种原因,alpha 值没有传递到 CGColorRef 对象中。您知道白色值被传递,因为默认颜色是黑色。
UIColor 有一些限制。我建议你阅读以下内容article http://arstechnica.com/apple/guides/2009/02/iphone-development-accessing-uicolor-components.ars。特别注意该部分“UIColor 的问题”文章的。
我猜你的问题的最佳解决方案是定义backgroundColor
with CGColor直接(使用CG色彩创建 http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGColor/Reference/reference.html,例如),而不是 UIColor。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)