白い枠線と黒い色で塗りつぶされた画像があります。実行時に黒色を別の色に変更したいだけです。ユーザーは実行時に HSB 形式で色を選択します。どうやってやるの?const float colorMasking[4]={255, 255, 255, 255};を使用して CGImageCreateWithMaskingColorsを試しました。 しかし、毎回 nil CGImageRefを取得しています。助けてください。
- (UIImage*) maskBlackInImage :(UIImage*) image color:(UIColor*)color
{
const CGFloat colorMasking[4] = { 222, 255, 222, 255 };
CGImageRef imageRef = CGImageCreateWithMaskingColors(image.CGImage, colorMasking);
UIImage* imageB = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
return imageB;
}
電球の画像を添付しています-黒で塗りつぶされ、白い枠線と透明な背景の電球
アップデート:
受け入れられた回答のコードを使用した後、黒色を別の色で塗りつぶすことができました。ただ、白枠に少し色が見えました。画像はそれほど鮮明ではありません。出力の添付: