私は、白い背景を持つUIImage(ユーザー図面によって生成された)を持っています。この画像の白い部分を透明にしたいと思います。また、これをPNGファイルに保存したいと思います。iphoneで白が透明になるようにUIImageをマスクする方法は?
私はフォーラムを見回しましたが、イメージを正しくマスクする方法を理解できません。誰もこれを前に試しましたか?
ありがとうございました。
私は、白い背景を持つUIImage(ユーザー図面によって生成された)を持っています。この画像の白い部分を透明にしたいと思います。また、これをPNGファイルに保存したいと思います。iphoneで白が透明になるようにUIImageをマスクする方法は?
私はフォーラムを見回しましたが、イメージを正しくマスクする方法を理解できません。誰もこれを前に試しましたか?
ありがとうございました。
開始UIImageを完全に透明にしてから、その背後に別のUIImageViewを完全に白くしてみてください。
生データを取得し、白いピクセルを探し、それらのピクセルのアルファ値を変更して新しいNSDataオブジェクトに保存し、それをPNGに変換する必要があります。
難しいことではありませんが、私はそれを自明ではありません。
はかなり長いQuartz2d Programming Guideとthis mailing list messageったらしいから
CGImageRef myMaskedImage = [myImage CGImage];
const float whiteMask[6] = { 255,255,255, 255,255,255 };
CGImageRef myColorMaskedImage = CGImageCreateWithMaskingColors(image, whiteMask);
CGDataProviderRef provider;
CGImageRef myPngImage = CGImageCreateWithPNGDataProvider(provider, NULL, true, kCGRenderingIntentDefault);
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt: 72], kCGImagePropertyDPIHeight, [NSNumber numberWithInt: 72], kCGImagePropertyDPIWidth, nil];
CGImageDestinationRef destRef = CGImageDestinationCreateWithURL ((CFURLRef)outPath, (CFStringRef)@"image.png" , 1, NULL);
CGImageDestinationAddImage(destRef, myPngImage, (CFDictionaryRef)options);
CGImageDestinationFinalize(destRef);
CGRelease(destRef);
CGImageRelease(myColorMaskedImage);
CGImageRelease(myPngImage);
...このような何かを試してみてください。
重複:http://stackoverflow.com/questions/633722/how-to-make-one-color-transparent-on-a-uiimage –