是否可以播放具有透明度的视频MediaElement
或MediaPlayer
(C# WPF)在后面有背景的视频,以便背景会出现在视频的透明区域中?
我研究了答案,但找不到任何答案,希望您能帮助我。
是否可以播放具有透明度的视频MediaElement
或MediaPlayer
(C# WPF)在后面有背景的视频,以便背景会出现在视频的透明区域中?
我研究了答案,但找不到任何答案,希望您能帮助我。
恐怕 MediaElement 不会保留必要的信息。但是,颜色键控可能是最简单的解决方案。
您需要创建一个视频,将透明部分转换为 127,127,127(RGB),然后在着色器中将它们更改为透明。
着色器看起来像这样:
sampler2D input : register(s0);
bool equals(float f1, float f2)
{
float f = abs(f1 - f2);
return f < 0.0001f;
}
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 result = tex2D(input, uv);
if( (equals(result.r, 127)) &&
(equals(result.g, 127)) &&
(equals(result.b, 127)) )
{
// make transparent?!
result.r = 0;
result.g = 0;
result.b = 0;
result.a = 0;
}
return result;
}