Как Делают я Сохраняю то, Что я Потянул В CGContext

Я вовлек CGContext UIView.

- (void)drawRect:(CGRect)rect { 
    [self drawInContext:UIGraphicsGetCurrentContext()]  
}

Я хотел бы сохранить то, что я потянул в png файл.

Существует ли простое решение?

Править: На основе предложений ниже - вот то, что я имею до сих пор....

-(void)createImage {
    NSString* outFile = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/image.png"];
    DLog(@"creating image file at %@", outFile);
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:outFile 
                atomically:NO];
}

- (void)drawRect:(CGRect)rect { 
    [self drawInContext:UIGraphicsGetCurrentContext()]; 
    [self createImage];
}
8
задан sylvanaar 2 April 2010 в 19:42
поделиться

2 ответа

UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:@"image.png"];
6
ответ дан 5 December 2019 в 12:57
поделиться

Вызов UIGraphicsGetImageFromCurrentImageContext , чтобы получить UIImage.
Затем вызовите UIImagePNGRepresentation , чтобы получить NSData UIImage, закодированного в PNG.
Наконец, вызовите -writeToFile:… , чтобы сохранить NSData.

1
ответ дан 5 December 2019 в 12:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: