Change RGB color of the picture
Categories: Apple, iPhone on Jan.21, 2010
Change RGB color of the picture
- - (UIImage *) changeColor: (UIImage *)image {
- UIGraphicsBeginImageContext(image.size);
- CGRect contextRect;
- contextRect.origin.x = 0.0f;
- contextRect.origin.y = 0.0f;
- contextRect.size = [image size];
- // Retrieve source image and begin image context
- CGSize itemImageSize = [image size];
- CGPoint itemImagePosition;
- itemImagePosition.x = ceilf((contextRect.size.width - itemImageSize.width) / 2);
- itemImagePosition.y = ceilf((contextRect.size.height - itemImageSize.height) );
- UIGraphicsBeginImageContext(contextRect.size);
- CGContextRef c = UIGraphicsGetCurrentContext();
- // Setup shadow
- // Setup transparency layer and clip to mask
- CGContextBeginTransparencyLayer(c, NULL);
- CGContextScaleCTM(c, 1.0, -1.0);
- CGContextClipToMask(c, CGRectMake(itemImagePosition.x, -itemImagePosition.y, itemImageSize.width, -itemImageSize.height), [image CGImage]);
- // Fill and end the transparency layer
- switch (colorSelected) {
- case 0:
- CGContextSetRGBFillColor(c, 0, 0, 1, 1);
- break;
- default:
- CGContextSetRGBFillColor(c, 1, 0, 0., 1);
- break;
- }
- contextRect.size.height = -contextRect.size.height;
- contextRect.size.height -= 15;
- CGContextFillRect(c, contextRect);
- CGContextEndTransparencyLayer(c);
- UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return img;
- }
Similar posts:

(1 votes, average: 4.00 out of 5)


Оставить отзыв