2012-12-20 3 views
3

문제가 있습니다. 전체 UIViewPixelate or Blur과 같은 필터를 적용해야합니다. eBay iPad과 유사합니다.GPUImage 필터를 UIView에 적용하십시오.

나는 GPUImage을 사용하려고 생각했지만 어떻게해야할지 모르겠다. 에 직접 필터를 적용하지 않고도 UIImage 필터를 적용 할 수 있습니까?

큰 문제의 스크린 샷을 iPadUIView으로 만드는 것은 비용이 많이 듭니다 (UIWindow 잡기의 경우 2 초). 그래서 완벽한 솔루션은 이베이 앱처럼 뷰에 필터를 직접 적용하는 것입니다. 어떻게?

모두에게 감사드립니다!

답변

8

GPUImage로보기를 가져 오려면 UIView 또는 CALayer를 입력으로 사용하는 GPUImageUIElement 소스를 사용할 수 있습니다. FilterShowcase 예제 응용 프로그램에는이 예제가 있습니다.

이것은 기본 CALayer의 -renderInContext: 메서드에 의존합니다. 뷰를 다시 그리는 데 비용이 많이 듭니다. 그러나 뷰가 정적 인 경우이 업데이트를 한 번 사용하면 결과 이미지가 GPU에 텍스처로 캐시됩니다. 그 시점 이후에 적용된 필터 동작은 매우 빠릅니다.

+0

감사! 마침내 GPUImage로 솔루션을 찾았습니다! –

+0

안녕하세요, Brad 님, 내 View에서 작동하지 않는 것 같습니다. 또한 StackOverflow에 대한 질문을 만들었습니다. 한 번해볼 수 있다면 좋을 것입니다. http://stackoverflow.com/questions/18353298/using-gpuimage-to-filter-a-view-live – simonthumper

0

어쩌면 이것은 당신에게 뭔가요? 그것을 시도했지만 한 번 게시물에 대해 읽지 않은 :

StackBlur

는 아야 미안, 난 다시 귀하의 게시물을 읽고이 확장은있는 UIImage을 흐리게에 대해, 당신은이 '당신이 didn를 뭔가라고 말했다 t는 그럼 난 이미지를 흐리게하기위한 사람들이 인터넷 검색을 이동 어쨌든 경우 여기를 떠날거야 ... 원하는 :(.. 죄송합니다

+0

그것은 절대적으로 환상적인 도서관입니다. 좋아. – Fattie

1

당신은 당신은 당신의 의견에 CIFilter S를 적용하여 후있는 모양을 달성 할 수있을 것 layer.filters 속성. 자세한 내용은 문서를 확인하십시오.

https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CALayer_class/Introduction/Introduction.html

+1

하지만 설명서에 다음과 같이 나와 있습니다.이 속성은 iOS의 레이어에서 지원되지 않습니다. –

+0

분명히 그랬지만 iOS5로 구현되었습니다. 현재 문서 세트를 보면 "이 속성은 Core Image와 필터의 존재 여부에 달려 있습니다 .iOS에서는 Core Image가 iOS 5 이상에서만 사용 가능합니다." – Tark

+0

이 솔루션이 효과가 있습니까? – ninjudd

관련 문제