我拍摄屏幕时图像在哪里?

时间:2010-09-01 15:01:40

标签: iphone objective-c cocoa-touch

点击按钮的点击事件

[mybutton addTarget:self action:@selector(captureView)
     forControlEvents:UIControlEventTouchUpInside];


- (void)captureView {
    UIGraphicsBeginImageContext(CGSizeMake(320,480));
    CGContextRef context = UIGraphicsGetCurrentContext();
    [self.view.layer renderInContext:context];
    UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    NSLog(@"%@",screenShot);

}

我的屏幕截图打印UIImage:0x4b249c0。这个正确的代码是否可以在屏幕上显示iphone应用程序的特定区域?此图像存储在该特定时间的位置。我怎么能看到那些图像?

2 个答案:

答案 0 :(得分:0)

UIImage只是您拍摄的屏幕截图的内存表示。如果你想保存它,你需要把它写出来。例如,以下代码会将该图像写入用户的照片库:

UIImageWriteToSavedPhotosAlbum(screenShot, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);

请务必保留图片并将其发布到-image:didFinishSavingWithError:contextInfo:  回调方法。

您还可以使用以下代码手动将图像另存为PNG或JPEG:

NSData *imageData = UIImagePNGRepresentation(screenShot);
[imageData writeToFile:pathToSaveImage atomically:YES];

答案 1 :(得分:0)

此处您的图像位于内存中,您需要将其保存在Bundle中的某处。