gpt4 book ai didi

iphone - 如何捕获UIView顶部的UIView

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:31:19 29 4
gpt4 key购买 nike

我有显示图形的 UIView..现在我需要将它捕获到 UIImage 我用谷歌搜索并得到下面的代码。但是如果我使用这个在我的代码中它不起作用。即使我使用断点编译器也无法达到这一点。我在我的 UIView 中使用它。我哪里出错了?

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

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return img;
}

最佳答案

您可以使用以下方法截取 iPhone 应用程序的任何 View 或整个屏幕

- (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];

如果 View 包含图层图像或一些图形相关数据,则使用以下方法。

-(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];

希望对你有所帮助。

关于iphone - 如何捕获UIView顶部的UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14049796/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com