gpt4 book ai didi

iphone - 是否可以在不打开特定 View 的情况下拍摄屏幕截图?

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

我是 iPhone 开发新手。不太熟悉 iPhone 技术中的 View 和布局。

我要实现的是:

  • 我在包含一个按钮的页面中,单击该按钮我打开图 TableView (使用核心图)。
  • 我想截取该图 TableView 的屏幕截图,但我不想打开该 View 。

这可能吗?

我们将不胜感激。

最佳答案

是的,您可以将 View 层合成到位图上下文中,然后从中获取图像对象:

CGContextRef CGContextCreate(CGSize size)
{
CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();
CGContextRef ctx = CGBitmapContextCreate(NULL, size.width, size.height, 8, size.width * (CGColorSpaceGetNumberOfComponents(space) + 1), space, kCGImageAlphaPremultipliedLast);
CGColorSpaceRelease(space);
return ctx;
}

- (UIImage *)screenshotView:(UIView *)view
{
CGSize size = view.frame.size;

// Check for retina display
if ([[UIScreen mainScreen] scale] > 1.5f) {
size.width *= 2;
size.height *= 2;
}

CGContextRef ctx = CGContextCreate(size);
CGAffineTransform normalize = CGAffineTransformMake(1, 0, 0, -1, 0, size.height);
CGContextConcatCTM(ctx, normalize);

[[view layer] renderInContext:ctx];

CGImage cgImg = CGBitmapContextCreateImage(ctx);
UIImage *img = [UIImage imageWithCGImage:cgImg];
CGImageRelease(cgImg);
CGContextRelease(ctx);

return img;
}

关于iphone - 是否可以在不打开特定 View 的情况下拍摄屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13320195/

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