Как я могу получить CGContextRef из UIImage? - PullRequest
6 голосов
/ 14 декабря 2010
    CGContextRef context = ??; // get from UIImage *oldImage

    CGContextSaveGState(context);   
    CGRect drawRect = CGRectMake(0, 0, 320, 480);
    CGContextConcatCTM(context, transform);
    UIImage *newImage = [[UIImage alloc] init];
    CGContextDrawImage(context, drawRect, newImage.CGImage);
    [newImage drawInRect:CGRectMake(0, 0, 320, 480)];

    CGContextRestoreGState(context);

Короче говоря, я хочу [UIImage -> сделать какое-то преобразование -> преобразованный UIImage].

Есть идеи? Большое спасибо !!

1 Ответ

8 голосов
/ 14 декабря 2010

Я думаю, что вам нужно это:

UIGraphicsBeginImageContextWithOptions(newImageSize, YES, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
// drawing commands go here
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Обратите внимание, что UIGraphicsGetImageFromCurrentImageContext() возвращает автоматически выпущенный экземпляр UIImage.

...