2011-03-17 6 views
2

이미지에 색조 효과를 줄 수는 있지만 OpenGL ES는 사용하지 않는 것이 좋습니다. CALayer를 사용하는 것이 좋습니다. 나는 답을 찾고 있지만, 아직 아무것도 찾지 못했다.이미지에 대한 색조 효과 - iOS

tnx

답변

0

이미지를 색칠하는 것이 있습니까? 빠른 방법 (비록 아마 가장에 대한 사용자 정의 솔루션을해야한다는) 석영의 블렌딩 옵션을 확인하는 것입니다 :

https://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_paths/dq_paths.html#//apple_ref/doc/uid/TP30001066-CH211-TPXREF101

을 당신은 원래 이미지의 보이는 부분을 복사 시도 할 수
+1

색조 혼합 모드는 다음과 같습니다. "이 혼합 모드를 사용하려면 CGContextSetBlendMode 함수를 상수 kCGBlendModeHue와 함께 호출하십시오." – FeifanZ

+0

그래,이 또한 내가 찾은 하나지만, 애플처럼 "GLImageProcessing"사용자가 슬라이더로 이미지 색조에 영향을 미칠 수있는 예제로 해낸 솔루션이 필요하지만 Open GL Es없이. 어쩌면 나는 뭔가를 놓치고 있지만 이것은 그렇게 보이지 않습니다. – Vanya

+1

해당 페이지에서 인용하면 "배경의 채도 및 채도 값을 전경 이미지의 색조와 함께 사용하도록 지정합니다." UIClider의 값을 조정하는 UISlider가 있습니다 (RGB가 아닌 HSB 색상 사용). 슬라이더는 UIColor의 색조를 조정하고 해당 색을 전경색으로 설정합니다. 또한 사용자에게 많은 제어 권한을 부여하려는 경우 색조의 강도 (코드에서 전경의 불투명도)를 조절하는 슬라이더와 색상의 채도 및 밝기를 조정할 수 있습니다. OpenGL ES에 가보지 않는다면, 이것에 관해서는 당신이 얻으 려하는만큼 많다고 말할 수 있습니다. – FeifanZ

0

RGB 비트 맵을 만들고 네온 ASM을 작성하여 일부 선형 색상 공간 변환이 주어진 경우 각 픽셀의 RGB를 다시 계산합니다. Accelerate DSP 프레임 워크의 일부가 적합 할 수도 있습니다. 그런 다음 CALayer의 내용을 수정 된 비트 맵 이미지로 업데이트하십시오. 합리적인 크기의 이미지 부분에 알맞은 프레임 속도를 내기에는 충분히 빠릅니다. 슬라이더가 조금 움직이지 않으면 나머지 이미지도 함께 업데이트하십시오.

+0

이 소리가 들리 겠지만, 다시 계산하면 심각한 성능 문제가 발생할 수 있습니다. – Vanya