原贴:http://www.cocoachina.com/bbs/read.php?tid=181448

调用:

userNameImage.image=[selfimageWithColor:ColorHex(ColorMain) :userNameImage.image];

代码:

- (UIImage *)imageWithColor:(UIColor *)color :(UIImage *)sourceImage{

   UIGraphicsBeginImageContextWithOptions(sourceImage.size, NO, sourceImage.scale);

   CGContextRef context = UIGraphicsGetCurrentContext();

   CGContextTranslateCTM(context, 0, sourceImage.size.height);

   CGContextScaleCTM(context, 1.0, -1.0);

   CGContextSetBlendMode(context, kCGBlendModeNormal);

   CGRect rect = CGRectMake(0, 0, sourceImage.size.width, sourceImage.size.height);

   CGContextClipToMask(context, rect, sourceImage.CGImage);

   [color setFill];

   CGContextFillRect(context, rect);

   UIImage*newImage = UIGraphicsGetImageFromCurrentImageContext();

   UIGraphicsEndImageContext();

   return newImage;

}