J'utilise le code suivant pour remplir la couleur dans une image dans l'iPhone.Comment remplir la couleur dans seulement une partie de l'image dans l'iPhone
- (UIImage *)colorizeImage:(UIImage *)baseImage color:(UIColor *)theColor {
UIGraphicsBeginImageContext(baseImage.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGRect area = CGRectMake(0, 0, baseImage.size.width, baseImage.size.height);
CGContextScaleCTM(ctx, 1, -1);
CGContextTranslateCTM(ctx, 0, -area.size.height);
CGContextSaveGState(ctx);
CGContextClipToMask(ctx, area, baseImage.CGImage);
[theColor set];
CGContextFillRect(ctx, area);
CGContextRestoreGState(ctx);
CGContextSetBlendMode(ctx, kCGBlendModeMultiply);
CGContextDrawImage(ctx, area, baseImage.CGImage);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
Mais le code ci-dessus remplit la couleur dans l'image. Je veux juste me sentir en haut, disons 1/4 de l'image. Alors, comment le faire?
Je l'ai compris .. changer la ligne de CGContextFillRect à. CGContextFillRect (ctx, CGRectMake (0, 0, baseImage.size.width, 100)); – rkb