KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
MY code: How to manage RGB value for differet shades of face,and how to apply? this code will change the color of face along with hair,but i want 1.only face to be colored excluding hair. -(void)changeSkinColorValue:(float)value WithImage:(UIImage*)needToModified { CGContextRef ctx; CGImageRef imageRef = needToModified.CGImage; NSUInteger width = CGImageGetWidth(imageRef); NSUInteger height = CGImageGetHeight(imageRef); CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); //unsigned char *rawData = malloc(firstImageV.image.size.height * firstImageV.image.size.width * 10); CFMutableDataRef m_DataRef = CFDataCreateMutableCopy(0, 0,CGDataProviderCopyData(CGImageGetDataProvider(firstImageV.image.CGImage))); UInt8 *rawData = (UInt8 *) CFDataGetMutableBytePtr(m_DataRef); int length = CFDataGetLength(m_DataRef); NSUInteger bytesPerPixel = 4; NSUInteger bytesPerRow = bytesPerPixel * firstImageV.image.size.width; NSUInteger bitsPerComponent = 8; CGContextRef context1 = CGBitmapContextCreate(rawData, firstImageV.image.size.width, firstImageV.image.size.height, bitsPerComponent, bytesPerRow, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big); CGColorSpaceRelease(colorSpace); CGContextDrawImage(context1, CGRectMake(0, 0, firstImageV.image.size.width, firstImageV.image.size.height), imageRef); NSLog(@"%d::%d",width,height); // for(int ii = 0 ; ii < 250 ; ii+=4) //{ for(int ii = 0 ; ii < length ; ii+=4) { //NSLog(@"Raw data %s",rawData); int R = rawData[ii]; int G = rawData[ii+1]; int B = rawData[ii+2]; // NSLog(@"%d %d %d", R, G, B); //if( ( (R>60)&&(R<237) ) || ((G>10)&&(G<120))||((B>4) && (B&l
Tags (comma-separated)
Save Edits
Cancel