当前位置: 首页 > 知识库问答 >
问题:

为什么应用程序在创建图像的时候会崩溃?

莘俊能
2023-03-14
 UIGraphicsBeginImageContextWithOptions(BillView.frame.size, BillView.isOpaque, 0.0)
 BillView.layer.render(in: UIGraphicsGetCurrentContext()!) 
 let imgBill = UIGraphicsGetImageFromCurrentImageContext()! // Crash here
 UIGraphicsEndImageContext()

3 CoreFoundation CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION+28

4 CoreFoundation__CFrunloopdoTimer+880

5 CoreFoundation__CFrunloopdoTimers+276

10 Figment POS AppDelegate.Swift-第39行main+39

11 libdyld.dylib开始+4

共有1个答案

卫高明
2023-03-14
guard let context = UIGraphicsGetCurrentContext() else {
   print("graphic context is not available so you can not create an image.")
   return
}

UIGraphicsBeginImageContextWithOptions(BillView.frame.size, BillView.isOpaque, 0.0)
BillView.layer.render(in: context) 
if let imgBill = UIGraphicsGetImageFromCurrentImageContext() {
  //here you will get image for sure 
  print(imgBill.size)
} else {
  //this is the case when image is nil
}
UIGraphicsEndImageContext()
 类似资料:
  • 我正在Clojure中使用luminus和Ring构建一个web应用程序。我使用lein uberjar构建我的应用程序,然后用undertow服务器构建它。 我的问题是,什么时候对应用程序的请求在单独的非阻塞线程中运行? 我通过对执行的页面执行请求来测试应用程序的并发性。如果我同时在Chrome中的两个选项卡中访问此页面,第二个选项卡将在第一个选项卡加载后大约20秒内才加载。因此,这两次访问似乎

  • 我使用下面的代码插入了捕获图像,并获得了< code >“not null”,这表明数据不为null。 然而,当我试图检索捕获的图像时,应用程序崩溃了。 MyDatabaseHelper.java 原因:Java . lang . illegalstateexception:无法从CursorWindow读取第0行第0列。在从游标访问数据之前,请确保游标已正确初始化。at Android . da

  • 我使用的是IntelliJIDEA CE edition(11.0.4)的最新版本。有一件事我在任何地方都找不到,它阻碍了我对Java/Spring的进一步改进。 控制器: 类:导入com.example.demo.interfaces.ISave; 类接口: 没什么特别的,只是为了掌握Spring和Java。 在我的控制器里,当我试图使用 我收到一个阻止应用启动的错误。以下是错误: 任务应用程序

  • 我试图调用ViewModel中片段中的函数,但每次调用时它都会崩溃,我不知道为什么。下面是代码: 呼吁协程: 函数的代码: 如果我不使用协同程序,只使用我收到一个错误,说我必须从其他挂起函数或协同程序调用这个函数。 这就是错误: 我的ViewModel是: 在我称之为协程的片段中,我这样声明它:

  • 据我所知,Flask应该创建一个线程和第二个线程在其上运行,但我看到的是总是有两个进程在运行,而不是线程。即使是最简单的应用程序。 您可以看到两个进程正在运行: 这里到底发生了什么?

  • 问题内容: 据我了解,Flask应该创建一个线程并在其上运行第二个线程,但是我看到总是有两个进程在运行,而不是线程。即使是最简单的应用程序。 您可以看到两个进程正在运行: 这是怎么回事 问题答案: 这是因为您正在使用重新加载器运行开发服务器。重新加载程序监视文件系统中的更改,并以不同的过程启动真实应用程序,因此共有两个过程。 您可以通过点按或致电来禁用重新加载器。