如何在iPhone SDK中使用Alpha通道或alpha蒙版将图像保存为Tiff或PNG?

jsi*_*ary 2 iphone transparency alpha image objective-c

我在白色背景中有一些内部图像.我希望以允许Alpha通道或使用alpha蒙版的格式保存该图像,使白色像素变为透明.有光吗?

Rob*_*arl 5

我不知道哪个库非常容易.但是,有一个在GLImageProcessing例子很多相关的示例代码在这里.(我没有运行以下)

UIImage *some_image = [UIImage imageNamed:@"somethin'.tiff"];
CGImageRef cg_image = some_image.CGImage;
CFDataRef data = CGDataProviderCopyData(CGImageGetDataProvider(cg_image));
size_t bpp = CGImageGetBitsPerPixel(CGImage);

uint32_t *stuff = (uint32_t *)CFDataGetBytePtr(data);
int w = CGImageGetWidth(CGImage);
int h = CGImageGetHeight(CGImage);
int N = w * h;
for (int i = 0; i < N; i++ ) {
    // do your stuff, test for white, set the alpha mask
    stuff[i] = stuff[i] & ((uint32_t)0xFFFFFFFF | alpha_mask);
}
Run Code Online (Sandbox Code Playgroud)

您可以改为使用此功能

UIKIT_EXTERN NSData *UIImagePNGRepresentation(UIImage *image);                               
Run Code Online (Sandbox Code Playgroud)

并将数据写入磁盘.我希望这有帮助.如果你发现它,发布解决方案......