3
내 iOS 응용 프로그램 중 하나에서 CGImageMask
을 사용하여 이미지의 일부분을 잘라내려고합니다. I는 다음 코드 이미지를 마스킹 성공 하였다 :마스킹 후 UIImageView의 투명 영역을 제거하는 방법은 무엇입니까?
- (UIImage *)maskImage:(UIImage *)referenceImage withMask:(UIImage *)maskImage {
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([referenceImage CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
그래서, 내 이미지가 될 것이다
myImageView.image = [self maskImage:[UIImage imageNamed:@"image.png"]
withMask:[UIImage imageNamed:@"mask.png"]];
문제점 : 출력 화상은 기준 화상의 크기가 동일하다 ('image.png') 주위에 투명한 영역이 있습니다. 하지만 그 투명한 영역을 피하고 결과 이미지를 자르고 싶습니다. 이것을 어떻게 할 수 있습니까? 마스크가 여러 개 있으며 마스크 프레임이 모두 비슷하지 않습니다. 여기에 문제 개요의 참조 이미지를 첨부하고 있습니다. 친구 좀 도와주세요. 미리 감사드립니다.
와우 ... !!! 빠른 대답. 고맙습니다. 그것은 위대한 일을하고 있습니다. 나는 분명히 당신의 대답을 받아 들일 것입니다. 하지만 SO는 4 분 후에 만 그렇게 할 수 있습니다. 롤. :) – Thampuran