2009-12-11 5 views
2

UITableViewCellimageView.image 속성을 그리기위한 내 프로세스 중 부분 인으로 사용되는 이미지에 적용 할 마스크 (256 회색 PNG에서로드 됨)가 있습니다.마스크를 사용하여 이미지를 펀치 아웃하는 방법은 무엇입니까?

셀을 선택하거나 강조 표시하지 않으면 적절한 색상과 마스크의 사각형이있는 I CGImageCreateWithMask을 입력 한 다음 drawAtPoint: 이미지를 만듭니다. 이것은 잘 작동합니다.

그러나 셀을 선택하거나 강조 표시하면 마스크 대신 내 이미지를 적절하게 펀치하고 싶습니다. 즉, 내 마스크가 완전 불투명도를 지정하면 건물의 이미지를 완전히 투명하게 만들어서 tableview의 배경이 그려집니다. 내 마스크에서 불투명도를 0으로 지정하는 경우 알파 채널을 변경하지 마십시오. 영향을받는 알파 채널 이외의 다른 것을 원하지 않습니다.

나는 마스크에 따라 불투명도가 다양한 UIImage 이상의 clearColor를 그려야한다고 생각합니다.

먼저 무엇입니까? 둘째, 어떻게해야합니까?

답변

1

저는 CALayers를 조작해야한다고 생각합니다. 셀의 CALayer : CALayer mask attribute 마스크 속성을 사용할 수 있습니다. (myMask가있는 UIView의 하위 인 경우)입니다

는의 방법으로 뭔가 :

myCell.layer.mask = myMask.layer 
+0

이미지 나 마스크 어느 쪽도, 그들은 모두 UIImages이야. 결과는 UIImage 여야합니다. –

+1

아니요, UIImage는 NSObject의 직접적인 자손입니다. 당신은 UIImageView를 생각하고 있습니다. –

관련 문제