3

我有一个GPUImageStillCamera分层的UIView(在其上发生了一些实时动画),其中 forGPUImagePicture我正在传递sourceImagewith smoothlyScaleOutput:YESforChromaKeyBlendFilter

代码完美运行(感谢 Brad Larson!),我得到了一个相机源,其中绿色像素被移除了sourceImage

我想要做的是传递一个sourceImage可以将提要的背景命名为透明的,即我不想sourceImage在背景中显示绿色像素被移除的位置,而是我希望该像素是透明的。

这是我项目中的图像:在此处输入图像描述 看到中间那个模糊的方形区域,我希望它是透明的,这样它就可以显示绝对清晰的实际背景图像。现在我将背景图像分别传递给过滤器,它显示出模糊的图像。

为了达到同样的效果,我尝试传递透明 PNG,但我得到了黑色背景。我应该怎么做才能实现我正在寻找的东西?请建议..谢谢!

4

2 回答 2

1

如果我理解正确,你想让背景GPUImageView透明。如此处所述,您可以通过设置以下两个属性来实现:

strengthPreviewImageView.backgroundColor = [UIColor clearColor];
[strengthPreviewImageView setBackgroundColorRed:0 green:0 blue:0 alpha:0];
于 2015-04-28T19:49:29.163 回答
0

您可以尝试使用 UISlider 设置过滤器的“thresholdSensitivity”。

[(GPUImageChromaKeyBlendFilter *)filter setThresholdSensitivity:[(UISlider *)sender value]];
于 2016-04-17T21:39:06.083 回答