5

更新- この質問に答えると、評判 50 のバウンティを追加しました!

ビデオと写真をまとめてムービーを作成する必要があるアプリケーションがあります。そのためにAVMutableCompositionを使用しています。ビデオがどのように構成されるかを指示できるようにするには、AVMutableVideoComposition を使用する必要があります。このことには、と呼ばれるプロパティがbackgroundColorあり、Apple ドキュメントには次のように記載されています。

ソリッド BGRA カラーのみがサポートされています。パターンおよびその他のサポートされている色は無視されます。レンダリングされたピクセル バッファにアルファがない場合、背景色のアルファ値は無視されます。

これから私が理解しているのは、背景色にアルファチャンネルを追加する方法があるということですが、その方法がわかりません。とは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];ただけではうまくいきません - 背景は白のままで透明になりません。

どんな助けでも大歓迎です、ありがとう!

4

1 に答える 1

2

AVVideoCompositionInstruction設定するプロパティに関する Apple のドキュメントでbackgroundColorは、 のタイプはCGColorRefです。

私の賭けは、UIColor で設定backgroundColorCGColorプロパティを介してその値を取得しているため、何らかの理由でアルファ値が CGColorRef オブジェクトに渡されないためです。デフォルトの色は黒であるため、白の値が渡されることがわかります。

UIColor にはいくつかの制限があります。次の記事を読むことをお勧めします。記事の「UIColor に関する問題」セクションに特に注意してください。

あなたの問題の最善の解決策は、 UIColor の代わりにCGColorを直接定義することだと思います (たとえば、 CGColorCreate を使用backgroundColorます)。

于 2011-07-16T19:10:55.570 に答える