Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (UIImage *)image:(UIImage *)image WithTint:(UIColor *)tintColor
- {
- // Begin drawing
- CGRect aRect = CGRectMake(0.f, 0.f, image.size.width, image.size.height);
- CGImageRef alphaMask;
- //
- // Compute mask flipping image
- //
- {
- UIGraphicsBeginImageContext(aRect.size);
- CGContextRef c = UIGraphicsGetCurrentContext();
- // draw image
- CGContextTranslateCTM(c, 0, aRect.size.height);
- CGContextScaleCTM(c, 1.0, -1.0);
- [image drawInRect: aRect];
- alphaMask = CGBitmapContextCreateImage(c);
- UIGraphicsEndImageContext();
- }
- //
- UIGraphicsBeginImageContext(aRect.size);
- // Get the graphic context
- CGContextRef c = UIGraphicsGetCurrentContext();
- // Draw the image
- [image drawInRect:aRect];
- // Mask
- CGContextClipToMask(c, aRect, alphaMask);
- // Set the fill color space
- CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
- CGContextSetFillColorSpace(c, colorSpace);
- // Set the fill color
- CGContextSetFillColorWithColor(c, tintColor.CGColor);
- UIRectFillUsingBlendMode(aRect, kCGBlendModeNormal);
- UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- // Release memory
- CGColorSpaceRelease(colorSpace);
- CGImageRelease(alphaMask);
- return img;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement