2014-10-13 7 views
2

내 앱의 배경이 불투명합니다. UIImageView입니다. 어떤 상황에서는 전체 밝기에서 약 50 %까지 애니메이션 방식으로 이것을 어둡게하고 싶습니다. 현재 뷰의 알파 속성을 낮추고 이것이 잘 작동합니다. 보기 뒤에 아무 것도 없기 때문에 배경 이미지가 어두워집니다.블렌드없이 불투명 UIView를 어둡게합니다.

그러나 Core Animation Instrument를 사용하여 프로파일을 작성한 결과, 전체 배경이 인 것으로 표시되는 이 표시됩니다. 가능하다면 이것을 피하고 싶습니다.

합성 과정에서 이것이 가능할 것으로 생각됩니다. 뷰가 불투명하다면 뒤에서 아무 것도 보이지 않고 검은 색을 섞을 수 있습니다. 블렌드 할 필요가 없습니다. 픽셀 값을 조정하십시오.

이것이 UIKit의 GPU 합성이 지원하는 것이 었는지 궁금합니다. 블렌딩이 좋지는 않지만 CPU에서 이미지를 업데이트하는 것보다 훨씬 낫습니다. 따라서 CPU 접근 방식이 좋은 대안이 아닌 것 같습니다.

Another question에 대해 묻고, 알파 설정을 비롯한 몇 가지 아이디어가 제안됩니다. 아무도 블렌딩을 피하기위한 메커니즘을 가져 오지 않았습니다.

답변

2

여기에서 중요한 질문은 어두운 배경을 사용하여 변경 사항을 애니메이션으로 적용할지 여부입니다.

두 개의 서로 다른 배경 이미지를 준비하고 그 사이에 간단하게 교체 애니메이션하지 않습니다. UIImage+imageEffects 라이브러리는 어두운 이미지를 생성하거나 리드를 줄 수 있습니다.

애니메이션.

GPUImage - "GPU 기반 이미지 및 비디오 처리를위한 오픈 소스 iOS 프레임 워크"를 살펴보십시오. 이것을 바탕으로 배경을 어둡게 표현할 수 있습니다.

+0

애니메이션. 나는 그것을 언급 했어야했기 때문에 질문을 편집했습니다. 명확히하라는 메시지를 보내 주셔서 감사합니다. 연결된 라이브러리가 어떻게 도움이되는지 모르겠다. – Benjohn

+0

구현 코드를 살펴 보았습니다. 감사합니다. 나는 GPU에서이 모든 것을 유지하고 싶다는 점에서 명확하게해야한다. 나는 그것을 고쳤다. – Benjohn

+1

@Benjohn,이 경우이 프레임 워크 - "GPU 기반 이미지 및 비디오 처리를위한 오픈 소스 IOS 프레임 워크"를 살펴보십시오. https://github.com/BradLarson/GPUImage – orkenstein