1

私のアプリケーションでは、ユーザーはアルファ値を含む画像をデバイスのカメラロールに保存/ロードできます。写真アプリケーションでは、これらの画像が適切にアルファ化されていることがわかります。アルファ化された領域は黒く表示されるだけです。ただし、これらの画像をからディクショナリへのvalueForKey:UIImagePickerControllerOriginalImageメッセージを使用してアプリケーションにロードし直すと、アルファ値が真っ白になり、これらのセクションが不透明になります。これらのアルファ値を保持する方法はありますか?info(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

4

2 に答える 2

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;
}
于 2010-05-20T01:49:54.987 に答える
0

ここで説明されているように、ALAssetsLibrary を使用して元の画像にアクセスする必要があります 。 -そして、それについて何をすべきか/

于 2012-05-31T11:04:02.057 に答える