iOS:擷取圖片Alpha圖片

來源:互聯網
上載者:User

標籤:class   code   tar   ext   int   c   

-(void)createImages{    // Load the alpha image, which is just the same Ship.png image used in the clipping demo    NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"Ship.png" ofType:nil];    UIImage *img = [UIImage imageWithContentsOfFile:imagePath];    _alphaImage = CGImageRetain(img.CGImage);        // To show the difference with an image mask, we take the above image and process it to extract    // the alpha channel as a mask.    // Allocate data    NSMutableData *data = [NSMutableData dataWithLength:90 * 90 * 1];    // Create a bitmap context    CGContextRef context = CGBitmapContextCreate([data mutableBytes], 90, 90, 8, 90, NULL, (CGBitmapInfo)kCGImageAlphaOnly);    // Set the blend mode to copy to avoid any alteration of the source data    CGContextSetBlendMode(context, kCGBlendModeCopy);    // Draw the image to extract the alpha channel    CGContextDrawImage(context, CGRectMake(0.0, 0.0, 90.0, 90.0), _alphaImage);    // Now the alpha channel has been copied into our NSData object above, so discard the context and lets make an image mask.    CGContextRelease(context);    // Create a data provider for our data object (NSMutableData is tollfree bridged to CFMutableDataRef, which is compatible with CFDataRef)    CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData((__bridge CFMutableDataRef)data);    // Create our new mask image with the same size as the original image    _maskingImage = CGImageMaskCreate(90, 90, 8, 8, 90, dataProvider, NULL, YES);    // And release the provider.    CGDataProviderRelease(dataProvider);}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.