iphone – Howe捕捉UIView顶级UIView

我有UIView显示Graph ..现在我需要将它捕获到UI Image并且我用google搜索它并得到以下代码.但是如果我在我的代码中使用它不工作.即使我使用断点编译器也达不到这个.我在我的UIView中使用它.我出错了?

+ (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return img;
}
您可以使用以下方法截取iPhone应用程序的任何视图或整个屏幕的屏幕截图

- (UIImage *)captureView {

//hide controls if needed
CGRect rect = [self.view bounds];

    UIGraphicsBeginImageContext(rect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();
    [self.view.layer renderInContext:context];   
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return img;

}

并称它为吼叫……

UIImage *tempImageSave=[self captureView];

你也可以用这个相册的波纹线保存这个图像..

UIImageWriteToSavedPhotosAlbum(tempImageSave,nil,nil,nil);

您还可以使用此文档目录的波纹线保存此图像.

NSData *imageData = UIImagePNGRepresentation(tempImageSave);
NSFileManager *fileMan = [NSFileManager defaultManager];

NSString *fileName = [NSString stringWithFormat:@"%d.png",1];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];
[fileMan createFileAtPath:pdfFileName contents:imageData attributes:nil];

如果视图包含图层图像或某些图形相关数据,则使用以下方法.

-(UIImage *)convertViewToImage:(UIView *)viewTemp
{
    UIGraphicsBeginImageContext(viewTemp.bounds.size);
    [viewTemp drawViewHierarchyInRect:viewTemp.bounds afterScreenUpdates:YES];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return image;

}

并使用如下方法.

UIImage *tempImageSave = [self convertViewToImage:yourView];

我希望这对你有帮助.

相关文章
相关标签/搜索