8

ここに画像の説明を入力

複製

私の評判を否定しないでください。

私のマスク画像は: ここに画像の説明を入力

私の出力は次のとおりです。ここに画像の説明を入力

- (UIImage*)maskImage:(UIImage *)image withMask:(UIImage *)maskImage {

    CGImageRef maskRef = maskImage.CGImage;

    CGImageRef mask = CGImageMaskCreate(
                                        CGImageGetWidth(maskRef),
                                        CGImageGetHeight(maskRef),
                                        CGImageGetBitsPerComponent(maskRef),
                                        CGImageGetBitsPerPixel(maskRef),
                                        CGImageGetBytesPerRow(maskRef),
                                        CGImageGetDataProvider(maskRef), NULL, false
                                        );

    CGImageRef masked = CGImageCreateWithMask(image.CGImage, mask);
    CGImageRelease(mask);
    return [UIImage imageWithCGImage:masked];
}

では、独自のマスク イメージを作成するにはどうすればよいでしょうか。

ありがとう...

4

1 に答える 1

5

イメージをアルファなしのグレースケール イメージに変換してみてください。

  • アルファを削除するには、.jpg として保存します。その後、pngに保存できます。このイメージはすでに機能しているはずです。

  • image->mode->greyscale でグレースケールに変換します (この種のマスキングでは色情報が破棄されるため)。

ここに画像の説明を入力

于 2012-06-12T07:47:21.423 に答える