使用加载的UIImages保留alpha问题 - 如何避免在导入时丢弃alpha值?

时间:2010-05-06 23:01:36

标签: iphone-sdk-3.0 uiimageview uiimage alpha alphablending

我的应用程序允许用户将带有alpha值的图像保存/加载到设备上的相机胶卷。我可以在照片应用程序中看到这些图像是适当的alpha'd,因为alpha'd区域只显示为黑色。但是,当我使用来自valueForKey:UIImagePickerControllerOriginalImage的{​​{1}}字典的info消息将这些图片重新加载到应用程序中时,alpha值将变为白色,从而使这些部分变得不透明。有没有办法保留这些alpha值?

2 个答案:

答案 0 :(得分:1)

发现它!这是我执行此操作的功能。您的里程可能会有所不同!:

- (UIImage*)processImage:(UIImage*)image
{
    CGImageRef reference = image.CGImage;
    float colors[6] = {0xEE, 0xFF, 0xEE, 0xFF, 0xEE, 0xFF};
    CGImageRef newimage = CGImageCreateWithMaskingColors(reference, colors);
    UIImage *result = [[UIImage alloc] initWithCGImage:newimage];
    CGImageRelease(newimage);
    return result;
}

答案 1 :(得分:0)