2013-02-22 35 views
0

我正在使用CGImageCreateWithMaskingColors()UIImage中刪除特定顏色。顏色去除過程工作正常,但掩蔽過程後圖像中的透明區域變成黑色。請參閱下面粘貼的代碼。cgimagecreatewithmaskingcolors將所有透明區域更改爲黑色

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

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

回答

0

你要做的第二遮蔽通掩蓋黑色:

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:功能是您指定上述的)

相關問題