0

CGImageCreateWithMaskingColors()から特定の色を削除するために使用していUIImageます。色の除去プロセスは正常に機能しますが、マスキングプロセス後、画像の透明な領域が黒になります。以下に貼り付けたコードを参照してください。

CGImageRef imageRef = self.editedImage.CGImage;
CGImageRef myColorMaskedImage = CGImageCreateWithMaskingColors(imageRef, myMaskingColors);

UIImage *newImage = [self normalizeWithAlpha:[UIImage imageWithCGImage:myColorMaskedImage]];
CGImageRelease(myColorMaskedImage);
4

1 に答える 1

0

黒をマスクするには、2 番目のマスキング パスを実行する必要があります。

    float colorMaskingLow[6] = {0, low, 0, low, 0, low};
    float colorMaskingHigh[6] = {high, 255, high, 255, high, 255};

    UIImage *image = [self maskColors:colorMaskingHigh inImage:image];
    return [self maskColors:colorMaskingLow inImage:image];

maskColors:inImage:関数は上で指定したものです)

于 2013-03-13T10:28:27.590 に答える