2016-07-06 5 views
0

하나의 비디오에 두 개의 필터를 추가하여 화면 절반에 하나의 필터가 표시되고 나머지 절반에는 다른 필터가 표시됩니다. 그러나 화면의 다른 부분에있는 동일한 비디오에 적용해야합니다.비디오 일부에 GPUImage 필터 적용

GPUImage로 할 수 있습니까? 그렇지 않다면 대안은 무엇입니까?

enter image description here

+0

나는 내가하고 싶었던 것을했으나, 좀 해킹 당했다. 필터가 비디오의 일부에만 적용된다는 환상을 만들려면 두 개의 렌더링 뷰를 서로 위에 겹쳐서 비디오를 동기화하면됩니다. 그런 다음 상단 뷰에 마스크를 적용하여 투명하게 만듭니다. 동영상에 두 개의 서로 다른 필터가 적용되어 있다는 환상이 생깁니다. – xlogic

답변

2

여전히 약간의 실험은, the Swift version of GPUImage 이미지에 필터 작업을 마스킹을위한 새로운 기능을 가지고 있지만.

대부분의 필터 (현재는 전부는 아님)는 mask 속성을 사용하여 필터를 적용 할 이미지 영역을 마스킹하기위한 이미지를 제공 할 수 있습니다. 마스크 이미지는 알파 채널을 사용하여 마스크하려는 영역을 나타냅니다. 불투명 영역은 필터링되고 투명 영역은 필터링되지 않습니다.

+0

안녕하세요, 저는 GPUImage2를 사용하여이 작업을 수행하려고 시도하고 있지만 올바른 작업을 수행하고 있는지 완전히 확신하지 못합니다. PNG 형식의 이미지가 있고 ImageInput을 준수하는 PictureInput 객체를 마스크 속성에 적용했지만 효과가 나타나지 않습니다. 어떤 포인터? – Cocoadelica

+0

@Cocoadelica - 새로운 질문으로 설정을 설명하는 코드를 사용하는 것이 가장 좋습니다. –

+0

나는 그것을 고쳤다! 여기 게시 후 항상 항상 ... processImage()를 호출해야합니다. – Cocoadelica