如何在 swift 3 中在图像上的两点之间画一条线?

2024-01-24

我是 swift 新手,我想在我称为 mapView 的图像上的 2 点之间画一条线,我尝试使用 CGContext 但没有结果,有什么想法可以提供帮助吗?谢谢。

UIGraphicsBeginImageContext(mapView.bounds.size)
    let context : CGContext = UIGraphicsGetCurrentContext()!
    context.addLines(between: [CGPoint(x:oldX,y:oldY), CGPoint(x:newX, y:newY)])
    context.setStrokeColorSpace(CGColorSpaceCreateDeviceRGB())
    context.setStrokeColor(UIColor.blue.cgColor.components!)
    context.setLineWidth(3)
    mapView?.image?.draw(at: CGPoint(x:0, y:0))
    context.strokePath()
    mapView.image = UIGraphicsGetImageFromCurrentImageContext()!
    UIGraphicsEndImageContext()

一种选择是向图像视图添加子视图,并将线条绘制代码添加到其中draw(_ rect: CGRect) method.

游乐场实施示例:

class LineView : UIView {
    override init(frame: CGRect) {
        super.init(frame: frame)
        self.backgroundColor = UIColor.init(white: 0.0, alpha: 0.0)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override func draw(_ rect: CGRect) {
        if let context = UIGraphicsGetCurrentContext() {
            context.setStrokeColor(UIColor.blue.cgColor)
            context.setLineWidth(3)
            context.beginPath()
            context.move(to: CGPoint(x: 5.0, y: 5.0)) // This would be oldX, oldY
            context.addLine(to: CGPoint(x: 50.0, y: 50.0)) // This would be newX, newY
            context.strokePath()
        }
    }
}


let imageView = UIImageView(image: #imageLiteral(resourceName: "image.png")) // This would be your mapView, here I am just using a random image
let lineView = LineView(frame: imageView.frame)
imageView.addSubview(lineView)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 swift 3 中在图像上的两点之间画一条线? 的相关文章

  • Swift 1.2 可选外部变量?

    由于 Swift 无法访问编译变量 因此我创建了一个指向编译变量的 Objective C extern 变量 编译变量转换器 h extern NSString const NetworkApiBasicAuthUsername 编译变量
  • 是否可以对 UILabel 的文本颜色变化进行动画处理? [复制]

    这个问题在这里已经有答案了 UIView animateWithDuration 5 animations myLabel textColor UIColor redColor 标签文本颜色立即改变 Try this UIView tran
  • 在 Safari 中快速打开链接

    我目前正在我的应用程序中打开链接WebView 但我正在寻找一个打开链接的选项Safari反而 它不是 融入 Swift 但你可以使用标准UIKit方法来做到这一点 看看 UIApplication 的openUrl https devel
  • 视频中的图像/文本叠加 swift

    我正在使用 swift 在视频中使用图像叠加来实现水印效果 我正在使用AVFoundation为此 但不知何故我没有成功 以下是我的覆盖图像 文本的代码 let path NSBundle mainBundle pathForResourc
  • Swift 错误:发出 SIGABRT 信号如何解决

    我只是 Swift 编码的初学者 我的想法很简单 就是一个有两个按钮的应用程序 单击时 文本字段将更改其文本 在 Main StoryBoard 中 我添加一个文本字段和两个按钮 在 ViewController swift 文件中 我这样
  • 如何在 ios 应用程序中将 .svg url 显示为图像

    我从服务器获取 svg 网址 如何在我的应用程序中将其显示为图像 我尝试在 UIWebView 中显示它 但无法调整内容图像的大小 我正在使用这个代码 let request NSURLRequest NSURLRequest url UR
  • 电影播放完毕后关闭 AVPlayer

    我正在制作一个简单的 iPad 应用程序 按下按钮即可播放电影 电影播放 电影结束后我想关闭 AVPlayerView 以便它返回主屏幕 目前 当视频结束时 它停留在最后一帧 我现在的 ViewController Swift import
  • 获取 NSLayoutConstraints 关联视图

    我试图循环遍历视图约束 我向 view1 添加了 顶部 尾部 前导和高度约束 top trailing 和leading 是主ViewControllers 视图 如果我循环查看 view1 的约束 我只会看到高度约束 for constr
  • 如何设置 AWS Appsync 请求超时限制 || AWSAppSync 客户端不提供回调

    我正在使用 AWS Appsync 来开发当前的应用程序 并面临一个严重的问题 即每当我在 Appsync 客户端中触发查询时 当互联网连接速度较慢时 请求永远不会以回调结束 我在互联网上查了一下 关于这个主题的信息来源有限 而且发现这个问
  • 如何取消 Alamofire.upload

    我正在通过以下方式将图像上传到服务器上Alamofire upload作为多部分数据 不像Alamofire request它没有回来Request对象 我通常用它来取消请求 但是能够取消上传这样的消耗性请求是非常合理的 阿拉莫菲尔有哪些选
  • 如何比双击更快地识别单击?

    我有一个UITableView与我添加单击的行and双击手势 let doubleTap UITapGestureRecognizer target self action doubleTap doubleTap numberOfTapsR
  • 无法在 Swift 的 Storyboard 中加载 UIViewController XIB 文件

    我读了使用 XCode 故事板实例化使用 XIB 进行设计的视图控制器 https stackoverflow com questions 9155719 using xcode storyboard to instantiate view
  • 如何在 Swift 中显示框架(SDK)中的视图控制器?

    我在 Objective C 中有自己生成的框架 SDK 它在我的 Swift iOS 项目中使用 我想调用我的初始控制器CCInitViewController 请参阅第一张图片 从我的 SDK 单击按钮 位于 App Controlle
  • 在 macOS 中获取用户首选的温度设置

    我正在尝试读取温度单位 摄氏度 华氏度 的用户设置系统首选项 我试图使用 NSLocale 获取此数据 但我找不到任何温度设置的证据 甚至可以读取这些数据吗 Thanks 官方 API 记录在首选项 实用程序 https developer
  • 为什么数据没有填充在我的自定义 ui 表视图单元格中

    我正在从服务器获取数据 我想将其放入我的自定义 UITableViewCell 中 这是故事板中的单元格 如您所见 有两件事 首选项标签 三个按钮 当我从服务器接收数据时 我这样做 override func tableView table
  • 使用 Swift 的核心数据瞬态值

    有谁知道 或者有一个例子 如何使用 Swift 处理核心数据瞬态值 我知道在属性之前使用 NSManaged 但无法弄清楚如何编写逻辑以使用 Swift 构建瞬态值 复选标记短暂的数据模型中特定属性的字段 例如sectionTitle 为该
  • 检查文本字段是否为空会导致 Swift 2 错误

    我正在尝试检查文本框是否没有值 当我这样做时 if userEmail isEmpty userPassword isEmpty userPasswordRepeat isEmpty I get the following error I
  • 导航栏的横向视图问题

    默认导航栏高度为 64 但更改后 其横向导航栏高度的方向更改为 28 我想设置修复所有方向的导航栏大小 您可以添加方向观察者 NotificationCenter default addObserver self selector sele
  • 如何在ios中打开本机文件应用程序?

    如何使用 url 方案或其他方式打开 ios 的本机文件应用程序 我尝试搜索 url 方案但没有运气 这个问题似乎没有答案 苹果论坛上有这个问题的帖子 但仍然没有答案 https forums developer apple com mes
  • iOS 10 和 swift 2.3 中支持的InterfaceOrientations

    我正在使用 Xcode 8 GM 并且有一个旧项目需要更新为 iOS 10 我发现我当前使用 Swift 2 2 版本的应用商店构建在 iOS 10 上运行时不支持所需的界面方向功能 简而言之 当我重写supportedInterfaceO

随机推荐

  • NSURLRequest 到 NSString

    如何将 NSURLRequest 转换为 NSString NSString urlRequestToString NSURLRequest urlRequest NSString requestPath urlRequest URL ab
  • 使用 CloudKit 共享私有数据

    有没有一种简单的方法可以使用 CloudKit 在两个或多个用户之间共享私有数据 公共和私人日期是显而易见的 但似乎没有一种方法可以允许一组用户组织自己的孤岛以在彼此之间共享数据 而不将其提供给系统的所有其他用户和应用程序开发人员 我想到了
  • DAX 测试整数

    我有一个实际值列 如下所示 ID Airport A 98 4 B 98 0 C 95 3 我正在尝试将上面的数字格式化为前端报告的百分比 我将其写在 switch 语句中 为了方便起见 我将逻辑编写为 IF 布尔值 example mea
  • Yii2:从 URL 中删除控制器

    我正在使用高级模板 我在 SiteController 上创建了所有操作 因此我所有的 url 都是domain com site something 并且我需要从 url 中删除 site 一词 这样它将是domain com somet
  • 在 XAML 中显示窗口内的页面

    我的窗口中有一个选项卡控件 在每个选项卡项内我想要有一个不同的页面 我可以通过在 TabItem 内创建一个 Frame 并在后面的代码中使用来实现此目的 例如 frame1 Content new Pages MyPage 我怎样才能在
  • 为什么 Facebook 调试器工具无法抓取我的网站?

    我有一个网站http predictstat com http predictstat com 它由 Django 提供支持 我想确保当用户将此网站的链接发布到 Facebook 时 那里会显示一个漂亮的预览图像 标题和描述 也可以使用不同
  • BitBucket 和合并冲突

    我有一个代码源 有 3 个分支 master Branch 1 Branch 2 我正在尝试Branch 2当另一个程序员正在工作时Branch 1 在本地提取任何更改后 我最近将更改推送到了我的分支 然后我将我的分支与主分支合并 我现在正
  • 如何创建一个自动让用户登录到 devise/rails 的链接?

    我正在尝试让注册用户在我的网站上执行某些操作 因此我想通过电子邮件向他们发送直接指向此操作的链接 问题是我希望他们在单击此链接时自动登录 我可以做一些显而易见的事情 例如创建一个唯一的令牌并通过 url 传递它mysite com my f
  • 使用不同的最终分隔符连接字符串数组

    一般来说 如何连接字符串数组以使最后一个分隔符与其他分隔符不同 具体来说 iOS消息应用程序如何构建群组对话的默认名称 即联系人姓名列表 Example class User var name String init name String
  • C++ boost asio Windows 文件句柄 a​​sync_read_until 无限循环 - 无 eof

    我在 VS2010 中使用 boost 1 50 使用 aWindows 文件句柄 与使用套接字的 asio 相比 这似乎相对不常见 Problem The handle read回调到达第 8 行并返回第一位 并附加第 1 行的所有内容
  • Laravel - Artisan 给出了错误的基本 url

    我的 app config app php 有 url gt http dev domain com something somethingElse 然后我有一个可以从应用程序和 artisan 命令调用的函数 但URL route myR
  • Laravel 5 列出 htmlentities() 期望参数 1 为字符串

    我有以下内容 App Models Finance FinanceAccount lists name id 在我的一个观点的顶部 但它一直给我错误 htmlentities expects parameter 1 to be string
  • 关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题

    我已经研究了 3 周如何使用 PHPMailer for GoDaddy 配置 SMTP 但没有任何效果 尝试联系 GoDaddy 支持 但他们尚未回复 我还没有看到任何关于如何在他们的服务器上设置 SMTP 的文档 我已经多次更改主机并进
  • Google 地图地理编码器从 MySQL 数据库查找附近的地点

    我有一个网站 我将位置存储在 MySQL 数据库中 并使用数据库提供的地址进行地理编码 现在我想添加一个功能 它将找到距离指定点最近的位置 例如他们现在站立或打字的位置 我正在使用 JavaScript 和 jQuery 编写地理编码器和谷
  • 更改 ruby​​ 变量/引用的值

    我只是偶然发现了一些我不太明白的事情 我知道 ruby 中的变量是引用 所以那些很棒的事情是可能的 但是当我将变量传递给方法时 它的行为很奇怪 my var a nothing happend to me my var b nothing
  • install_github是否递归安装依赖项?

    R 包devtools似乎是直接从 github 存储库安装 R 包的方法 使用install github 功能 这样做时 不仅会安装所寻址的 github 包 还会安装其直接的 CRAN 依赖项 即包的描述 命名空间文件中定义的依赖项和
  • 在 NLTK 中实现词袋朴素贝叶斯分类器

    我基本上有和这个人有同样的问题 https stackoverflow com questions 2162718 python nltk code snippet to train a classifier naive bayes usi
  • 从 Google plus 帐户注销在 android 中不起作用,显示空指针异常

    我在我的 Android 应用程序中使用 Google plus 登录 工作正常 从任何其他意图单击注销按钮时显示空指针异常 也当点击登录按钮时直接进入我的下一页 不在登录页面 但从演示应用程序注销它工作正常 我搜索了相关答案 没有发现任何
  • 在 python 3 和 windows 中拍摄网络摄像头照片

    我希望能够在 python 3 和 Windows 中通过网络摄像头拍照 有支持的模块吗 我尝试过pygame 但它只是linux和python 2 而VideoCapture只是python 2 我一直在寻找同样的东西 但到目前为止我却发
  • 如何在 swift 3 中在图像上的两点之间画一条线?

    我是 swift 新手 我想在我称为 mapView 的图像上的 2 点之间画一条线 我尝试使用 CGContext 但没有结果 有什么想法可以提供帮助吗 谢谢 UIGraphicsBeginImageContext mapView bou