0

これに対する答えはstackoverflowにあると確信していますが、探していてまだ見つけられていません。基本的に、背景が透明な画像と黒い画像がいくつかあります。黒い部分の色を他の任意の色に変更できるようにしたいと考えています。

これはQuartz Image Maskingで達成できると比較的確信していますが、良い例を見つけることができなかったので、それが私が探しているものです。他のソリューションも大歓迎です。

ありがとう!!!

更新:私はこのコードにかなり近いと思います...しかし、私のマスクは機能していません。ただし、塗りつぶしのUIView色で塗りつぶされますが、それは単なる巨大な長方形であり、切り取られていません。

更新#2:次のコードで、私はさらに近づいています(と思います)。問題は、背景が透明ではなく黒くなっていることです。

CGContextRef context = UIGraphicsGetCurrentContext();

CGContextScaleCTM(context, 1, -1);
CGContextTranslateCTM(context, 0, -rect.size.height);

CGImageRef maskImage = [self.image CGImage];
CGContextClipToMask(context, rect, maskImage);

[_colorToChangeInto setFill];
CGContextFillRect(context, rect);
4

1 に答える 1