iOS 屏幕截图部分

2024-01-27

我有一个应用程序使用以下代码截取 UIImageView 的屏幕截图:

-(IBAction) screenShot: (id) sender{

 UIGraphicsBeginImageContext(sshot.frame.size);
 [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
 UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
 UIGraphicsEndImageContext();
 UIImageWriteToSavedPhotosAlbum(viewImage,nil, nil, nil);


}

这效果很好,但我需要能够定位截取屏幕截图的位置,基本上我只需要对屏幕的三分之一(中心部分)进行分级。我尝试使用

UIGraphicsBeginImageContext(CGSize 150,150);

但发现所有东西都是从 0,0 坐标开始的,有谁知道如何正确定位它。


屏幕截图是从您绘制的画布上截取的。 因此,您不必在整个上下文中绘制图层,而是参考左上角,而是将其绘制在要截取屏幕截图的位置......

//first we will make an UIImage from your view
UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *sourceImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

//now we will position the image, X/Y away from top left corner to get the portion we want
UIGraphicsBeginImageContext(sshot.frame.size);
[sourceImage drawAtPoint:CGPointMake(-50, -100)];
UIImage *croppedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(croppedImage,nil, nil, nil);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 屏幕截图部分 的相关文章

  • 如何去掉 UIWebView 上的状态栏背景?

    从 iOS 11 开始 当UIWebView全屏时 状态栏上会出现与屏幕颜色相同的假背景UIWebView背景 有人知道如何摆脱它吗 甚至添加IUWebView到故事板并使其全屏将使状态栏背景出现 我一直在尝试编辑 UIWebView 的大
  • SwiftUI:动态“列表”中的“切换”在重用时会破坏其布局?

    我试图展现一种动态List行包含Toggle元素 这Toggle最初布局正确 但是当它们滚动进和滚出视图时 即单元格重用时 它们的布局会中断 最小示例代码 import SwiftUI struct SwitchList View var
  • 为什么 Objective-C 方法名称的最后一部分必须带有参数(当有多个部分时)?

    在 Objective C 中 您不能声明最后一个组件不带参数的方法名称 例如 以下内容是非法的 void take id theMoney andRun void take id yourMedicine andDontComplain
  • Xcode 错误 - 架构 x86_64 的未定义符号?

    我正在运行 Swift 4 和 Xcode 9 beta 我收到此错误 但我不知道如何解决它 我什至不知道这是什么意思 Undefined symbols for architecture x86 64 T0So22AVCapturePho
  • 为什么 UITableViewCell 不可访问(对于 VoiceOver)

    我并不是想解决任何问题 当然你可以设置isAccessibilityEnabled true它有效 我的问题是 为什么它默认关闭并且界面生成器中没有适当的部分 在我看来 不建议使 UITableViewCell 子类可访问 有没有更好的方法
  • Objective-C 中是否有命名初始化方法的约定?

    在可以通过不同的 init 方法初始化的 Objective C 类中 将所有初始化程序共用的初始化代码收集到一个从其他 init 方法 有时也从从 Nib 唤醒 是否有关于如何命名该方法的约定 初始化器 初始化公共 根据 Apple 的说
  • iOS UITableViewCell cell.imageView 设置圆角

    嘿我正在尝试设置cell imageView s cornerRadius 但似乎不起作用 cell imageView layer cornerRadius 9 它会起作用还是我应该添加自定义UIImageView在我的牢房里有圆角吗 我
  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • 不明白 Swift 中的闭包示例

    我正在尝试了解 swift 和闭包 我被这个例子困住了 numbers map number Int gt Int in let result 3 number return result 什么是 number Int gt Int 它是一
  • Cordova 在 iOS 中显示警告“线程警告:[您的函数]花了 [n] 毫秒”

    THREAD WARNING Console took 81 661865 ms Plugin should use a background thread 在跑步的时候iOS 手机差距项目 对于一些剩余的插件 例如地理位置和文件系统 也是
  • 如何用图片替换UITableView?

    我有一个 UITableView 默认为空白 直到用户编辑并向其添加数据 我想显示一张带有说明的图像 直到用户编辑它为止 图片的大小非常适合导航栏和标签栏之间 有没有办法以编程方式执行此操作 您可以使用removeFromSuperview
  • ARC 不允许将 Objective-C 指针隐式转换为“void *”

    这意味着什么 我有什么选择 ARC 不允许将 Objective C 指针隐式转换为 void 我正在将 Xcode3 项目移植到 iOS5 它使用 AudioSessionInitialize 如下 AudioSessionInitial
  • 在文本视图滚动之前无法看到 UITextView 中的文本

    我的应用程序中有一堆文本视图 由于某种原因 无论我以编程方式 来自互联网 还是通过界面生成器 硬编码 设置 UITextView 文本 无论我做什么 当我在测试时转到该文本视图时它都是空白的 但当我滚动它的那一刻 所有文本就突然出现了 只是
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • 如何将 LC_LOAD_DYLIB 命令插入 Mach-O 二进制文件或将静态库加入现有二进制文件 (IOS)

    这是我第一次在 stackoverflow 上提问 我很绝望 我的任务是加载 dylib 或将静态库加入到 IOS 设备的现有可执行文件中 我将使用static void attribute constructor initialize v
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • NSCFData fastCharacterContents 崩溃? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我目前在控制台中收到此崩溃日志 20
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图

随机推荐

  • 设置自动填充建议的样式

    非常简单 我正在研究输入的 CSS 但是当 Chrome 在 MacOS 上 使用建议 自动填充功能 填充输入时 它会更改字体 有没有办法覆盖它以保留我的自定义字体和其余 CSS 属性 最令人不安的是 场地的高度发生了变化 这真的很难看 也
  • 如果屏幕小于一定宽度则隐藏 div

    如果用户屏幕 document ready function if screen width gt 1024 if screen size is 1025px wide or larger yourClass css display non
  • 如何在“rails new app --skip-test-unit”之后重新启用 Rails 4 中的 Test::Unit

    I used rails new app skip test unit 因为最初 我认为我可以稍后添加测试 我开发了我的应用程序的很大一部分 现在 我想添加 Test Unit 但我找不到任何有关如何执行此操作的文档 谷歌搜索仅引导我找到
  • 如何在不使用 JS 发出新请求的情况下读取当前标头? [复制]

    这个问题在这里已经有答案了 可能的重复 在 Javascript 中访问 HTTP 标头 https stackoverflow com questions 220231 accessing http headers in javascri
  • 设置 HTTPClient get() 请求的超时

    此方法提交一个简单的 HTTP 请求并调用成功或错误回调即可 void getSimpleReply String command callback errorCallback async try HttpClientRequest req
  • 如何将 S4 槽选择器“@”重载为通用函数

    我正在尝试转动 R 中的运算符转换为 S3 系统的通用函数 基于中的章节编写 R 扩展 添加新的泛型 https cran r project org doc manuals r release R exts html Adding new
  • 选择单打和双打之一

    我有一个包含 A B 和 C 列的表 A 列可能有重复项 我需要一个查询 该查询将为我提供一个在 A 列中具有唯一值的结果集 并且我不关心它可能需要哪些重复项 我事先对其余数据一无所知 一个例子可能是 A B C 1 8 8 1 7 7 2
  • 更改 Swift 3 中 UIBarButtonItem(图像)的大小

    我正在尝试更改导航栏中某些图标的大小 但我对如何执行此操作有点困惑 到目前为止我的代码是 func setUpNavBarButtons let moreButton UIBarButtonItem image UIImage named
  • 用户“NT AUTHORITY/ANONYMOUS LOGIN”的 Azure SQL 服务器登录失败

    我正在尝试使用我的 Azure Active Directory 帐户从 SSMS 登录 Azure SQL 服务器 我已经遵循了这个指南 使用 SQL 配置和管理 Azure Active Directory 身份验证 https lea
  • 如何使用 JavaScript 返回 eval(code) 并获取对象?

    我有这段代码 我想要它做的是加载 js 文件然后运行它 当它运行时 我希望它返回一个参数 甚至更好的是一个对象 这是我页面中的代码 var runCode function var xhr new XMLHttpRequest xhr op
  • 什么是“实时”

    我无法决定是否将我的应用程序分类为 实时 或 接近实时 甚至可能是其他类别 该软件立即接收从源生成的数据 然后根据某些规则 在满足某些条件时发出警报 它采用每30秒检查最后30秒数据的方法来查看是否满足规则的标准 那是实时的吗 实时与准实时
  • 错误代码:2013。查询期间丢失与 MySQL 服务器的连接

    我拿到错误代码 2013 查询期间丢失与 MySQL 服务器的连接当我尝试使用 MySQL Workbench 向表添加索引时出错 我还注意到 每当我运行长查询时它就会出现 有没有办法增加超时值 新版本的 MySQL WorkBench 提
  • 相当于“evalin”,不需要输出参数(内部)

    背景 我正在阅读有关访问隐藏函数的内容 并开始使用builtin 我写了一个小函数 function klear x go to parent environment evalin base builtin clear x end 这会引发
  • 如何在 Android 适配器中反转使用 FirebaseUI- 获取的数据?

    我尝试使用FirebaseUI 实时数据库Android lib 使用 recycler view 适配器简单地在 viepager2 中显示数据集 当我获取数据时 我首先获取最旧的数据 并且我需要先显示最新的数据 所以我需要一个相反的顺序
  • 如何从JSP输出HTML <%! ... %> 阻止?

    刚开始学习JSP技术 遇到了瓶颈 如何从 JSP 声明块 这不起作用 服务器说没有 out U 我确实知道如何使用返回字符串的方法重写代码 但是有没有办法在 尽管它可能不是最佳的 但它仍然很有趣 您不能在指令内使用 out 变量 也不能使用
  • shell 脚本的 Groovy 参数

    我一直在尝试将我的代码分成两个不同的文件 callTheFunction groovy and theFunction groovy 从文件名可以看出 callTheFunction groovy调用中定义的函数theFunction gr
  • PostgreSQL 数据库静态加密

    如何加密静态 PostgreSQL 数据库 我找不到关于如何实现这一目标的良好文档 威胁模型在这种情况下非常重要 因为有效地加密数据库并不是一件容易的任务 这可以在 3 个不同的层完成 客户端应用程序 存储设备 数据库本身 请注意 在所有情
  • 迭代 Node.js 中的对象键

    从 Javascript 1 7 开始 有一个Iterator https developer mozilla org en New in JavaScript 1 7 Iterators对象 它允许 var a a 1 b 2 c 3 v
  • MySQL - 选择然后更新

    我有一个用 PHP 编写的脚本 其中有这一行可以正常工作以选择我需要的数据 result mysql query SELECT product name sku qty FROM supplier dropship items WHERE
  • iOS 屏幕截图部分

    我有一个应用程序使用以下代码截取 UIImageView 的屏幕截图 IBAction screenShot id sender UIGraphicsBeginImageContext sshot frame size self view