2014-05-06 11 views
5

गैर-पारदर्शी पिक्सल द्वारा किसी अन्य छवि के साथ एक छवि को कैसे मुखौटा करें? ईजी।आईओएस एसडीके - छवि मास्किंग

- (UIImage *)maskImage:(UIImage *)image 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([image CGImage], mask); 
    return [UIImage imageWithCGImage:masked]; 
} 

लेकिन यह कैसे मेरे मामले में यह करने के लिए:

enter image description here

जब मुखौटा छवि काला & सफेद है, मैं इस समारोह का उपयोग करें?

उत्तर

5

ये कदम उठाएँ, परिणाम

1 प्राप्त करने के लिए) एक छवि दृश्य बनाएँ, और यह (के लिए निर्धारित aspectFit विकल्प उपयुक्त आकार की गणना +)

2) छवि दृश्य फ्रेम प्राप्त करें, और कि विकल्पों के साथ एक मुखौटा बनाने (यानी अपने पूर्वनिर्धारित मुखौटा छवि को स्केल)

3) मास्क चित्र देखने के लिए, अपने बनाया मुखौटा के साथ

 
    UIImageView *maskView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"star_mask_alpha.png"]]; 
    self.needsMaskImageView.layer.mask = maskView.layer; 
    [self.needsMaskImageView setNeedsDisplay]; 
संबंधित मुद्दे