Как залить цветом только часть изображения в iPhone - PullRequest
2 голосов
/ 29 июля 2009

Я использую следующий код для заливки цвета на изображении в 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;

}

Но приведенный выше код заполняет цвет всего изображения. Я просто хочу почувствовать верхнюю часть, скажем, 1/4 части изображения. Так как это сделать?

1 Ответ

1 голос
/ 29 июля 2009

Я понял это ... измените строку CGContextFillRect на. CGContextFillRect (ctx, CGRectMake (0, 0, baseImage.size.width, 100));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...