当前位置: 首页 > news >正文

沧州公司做网站官方网站手机

沧州公司做网站,官方网站手机,网络科技公司起名大全免费,app公司的组织结构文章目录 1.将整个view截图返回image#xff1a;2.截取view的部分区域#xff0c;返回image#xff1a;3.旧方法#xff1a;4.Tips参考#xff1a; 1.将整个view截图返回image#xff1a; 这些 api 已被废弃#xff0c;所以需要判断 iOS 版本 写两套代码#xff1a; R… 文章目录 1.将整个view截图返回image2.截取view的部分区域返回image3.旧方法4.Tips参考 1.将整个view截图返回image 这些 api 已被废弃所以需要判断 iOS 版本 写两套代码 Replace usage of UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer. Replace usage of UIGraphicsGetImageFromCurrentImageContext with UIGraphicsImageRendererContext.currentImage. Swift 版本 /// 截图整个view /// - Returns: image func mooSnapshot() - UIImage? {if self.window nil {return nil}let scale UIScreen.main.scalevar image: UIImage? nil// 1. 创建绘图渲染格式if #available(iOS 10.0, *) {let format UIGraphicsImageRendererFormat()format.scale scaleformat.opaque self.isOpaque// 2. 创建绘图渲染器let renderer UIGraphicsImageRenderer(size: self.bounds.size,format: format)// 3. 绘制图image renderer.image { context inlet success self.drawHierarchy(in: self.bounds, afterScreenUpdates: true)print(draw success: \(success))}} else {UIGraphicsBeginImageContextWithOptions(self.bounds.size, self.isOpaque, scale);let success self.drawHierarchy(in: self.bounds, afterScreenUpdates: true)print(draw success: \(success))image UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();}return image }OC版本 - (UIImage * _Nullable)mooSnapshot {if (CGRectGetWidth(self.bounds) 0.0 || CGRectGetHeight(self.bounds) 0.0) {return nil;}if (!self.window) {return nil;}if (!self.superview) {return nil;}CGFloat scale [UIScreen mainScreen].scale;UIImage *image nil;if (available(iOS 10.0, *)) {UIGraphicsImageRendererFormat *format [[UIGraphicsImageRendererFormat alloc] init];format.scale scale;format.opaque NO;UIGraphicsImageRenderer *renderer [[UIGraphicsImageRenderer alloc] initWithSize:self.bounds.sizeformat:format];image [renderer imageWithActions:^(UIGraphicsImageRendererContext * _Nonnull rendererContext) {BOOL success [self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];NSLog(%p, Snapshot success: %, self, (success));}];} else {UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, scale);BOOL success [self drawViewHierarchyInRect:self.bounds afterScreenUpdates:YES];NSLog(%p, Snapshot success: %, self, (success));image UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();}return image; }2.截取view的部分区域返回image Capture the frame area of the view. Swift 版本 import CoreGraphics extension UIView {/// 截取view的部分区域/// - Parameter frame: 需要截取的区域/// - Returns: imagefunc mooSnapshotForFrame(_ frame: CGRect) - UIImage? {guard let image self.mooSnapshot() else { return nil }guard let cgImage image.cgImage else { return nil }let scale UIScreen.main.scale// 根据屏幕倍率将 frame 进行缩放let scaledRect CGRectApplyAffineTransform(frame, CGAffineTransformMakeScale(scale, scale))// 根据 缩放frame 进行裁剪guard let scaledCGImage cgImage.cropping(to: scaledRect) else { return nil }let returnImage UIImage(cgImage: scaledCGImage)return returnImage} }OC 版本 - (UIImage * _Nullable)mooSnapshotForFrame:(CGRect)frame {if (CGRectGetWidth(frame) 0.0 || CGRectGetHeight(frame) 0.0) {return nil;}UIImage *image [self mooSnapshot];if (!image) {return nil;}CGFloat scale [UIScreen mainScreen].scale;CGRect scaledRect CGRectApplyAffineTransform(frame, CGAffineTransformMakeScale(scale, scale));CGImageRef cgImage CGImageCreateWithImageInRect(image.CGImage, scaledRect);UIImage *returnImage [UIImage imageWithCGImage:cgImage];CGImageRelease(cgImage);return returnImage; }以下就是将一个view的上半部分截取成image后展示如下 3.旧方法 func mooSnapshot() - UIImage? {guard CGRectGetWidth(self.bounds) 0.0 CGRectGetHeight(self.bounds) 0.0 else {return nil}UIGraphicsBeginImageContextWithOptions(self.bounds.size, false, 0.0)let success self.drawHierarchy(in: self.bounds, afterScreenUpdates: true)print(draw success: \(success))let image UIGraphicsGetImageFromCurrentImageContext()UIGraphicsEndPDFContext()return image }Replace usage of UIGraphicsBeginImageContext with UIGraphicsImageRenderer. Replace usage of UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer. Replace usage of UIGraphicsGetImageFromCurrentImageContext with UIGraphicsImageRendererContext.currentImage. UIGraphicsEndImageContext should only be used alongside UIGraphicsBeginImageContext[WithOptions]. 这些旧的 api 已经被废弃了用文章开头的 api 代替 4.Tips Tips1得在加载到父视图 layout 后触发 Tips2width 或 height 有一个为空 drawHierarchy 就会 crash就版iOS不会crash新版会 参考 drawViewHierarchyInRect:afterScreenUpdates: ios drawViewHierarchyInRect crash EXC_BREAKPOINT UNKNOWN
http://www.w-s-a.com/news/600850/

相关文章:

  • 永州网站建设收费标准重庆网站建设公司夹夹虫专业
  • python做网站多少钱wordpress 2.8
  • 深圳网站平台网站开发工作程序怎么写
  • 自己可以接单做网站吗wordpress 添加自定义按钮
  • 网站首页权重宣传页制作
  • 智能网站建设软件有哪些方面网页的建设
  • 石铜路网站建设生鲜电商网站开发
  • 怎么提高网站加载速度慢网站的轮播怎么做的
  • 网络网站推广优化建筑工程教育网官方网站
  • 旅行社网站策划做网站编辑好还是美工好
  • 珠海做网站找哪家好在线磁力搜索神器
  • 做网站优化有必要wordpress导航栏字体
  • 中山网站建设半江红沈阳免费网站建站模板
  • 工信部网站备案管理系统网站备案负责人 更换
  • 我要做个网站该怎么做怎么做电商平台网站
  • wordpress教程 网站标题莱芜大众网
  • 网站建设业务终止合作范本主机公园wordpress
  • 口碑好企业网站建设网站建设与什么专业有关
  • 助贷获客系统快速优化排名公司推荐
  • 重庆做网站优化推广的公司企业网站如何进行定位
  • 高密市赏旋网站设计有限公司山东广饶县建设局网站
  • 成都哪里有网站开发公司网业分离是什么
  • 购物导购网站开发女孩学建筑学好找工作吗
  • 做网站沈阳掌握夏邑进入公众号
  • 怎么做自动提卡网站谷歌推广怎么做
  • 大同网站建设熊掌号wordpress 首页单页
  • 青岛网站美工成都优秀网站建设
  • 聊城大型门户网站建设多版本wordpress
  • 建网站的公司 快云wordpress的搜索
  • 贷款网站模版东莞网站建设哪家专业