1.图片截取
func test(addView:UIView) -> UIImage?{
UIGraphicsBeginImageContextWithOptions(CGSize(width: JY_DEVICE_WIDTH, height: addView.height), false, UIScreen.main.scale) if let context = UIGraphicsGetCurrentContext() {
addView.layer.render(in: context)
let imamge = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return imamge
}
return nil
}

  

2.保存相册
方法1:直接保存, 但是没办法做提示操作或错误监听
if let img = image{
UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil)
} 方法2:可监听系统方法
if let img = self.test(addView: tempView){
UIImageWriteToSavedPhotosAlbum(img, self,#selector(image(image:didFinishSavingWithError:contextInfo:)), nil)
} //图片保存到本地
@objc func image(image:UIImage,didFinishSavingWithError error:NSError?,contextInfo:AnyObject) {
if error != nil
{
print("--\(image)---","++++\(String(describing: error))++++")
return
}else{
view.showSuccessInfo(info: "图片保存成功")
}
}

  

3.  保存的时候  
  (1)必须 重新创建一个临时tempView, 加到当前VC上,然后获取图片,保存到相册,
  (2)如果直接用VC的原来的self.view或者SV啥的, 没效果,不知道是啥问题
  (3)移除顺序, 先加到原来view上,在移除tempview let tempView = UIView()
tempView.bounds = CGRect(x: 0, y: 0, width: JY_DEVICE_WIDTH, height: scroller.contentSize.height)
view.addSubview(tempView)
configScroller(addView: tempView) if let img = self.test(addView: tempView){
UIImageWriteToSavedPhotosAlbum(img, self, #selector(image(image:didFinishSavingWithError:contextInfo:)), nil)
}else{
view.showTipsInfo(tips: "图片不存在")
}
//先添加到SV上在u移除, 不然子控件位置会 异常
configScroller(addView: scroller)
tempView.removeFromSuperview()

  

swift - 画图截取图片 - 保存相册的更多相关文章

  1. python从网络摄像头获取rstp视频流并截取图片保存

    import cv2 def get_img_from_camera_net(folder_path):     cap = cv2.VideoCapture("rtsp://admin:a ...

  2. Android--解决图片保存到相册显示1970年1月1日 8:00的问题

    import android.content.Context; import android.content.Intent; import android.database.Cursor; impor ...

  3. Android调用相册截取图片遇到的问题

    1.在Android中可以使用如下的方式来调用相册,选择图片进行裁剪使用,昨天在开发的时候遇到一个问题 private void cropBigImageUri(Uri uri, int output ...

  4. iOS9中将图片保存到照片中的某个相册的方法说明

    iOS9中将图片保存到照片中的某个相册的方法说明 在App中很经常遇到的就是用户点击某张图片后将图片保存到本地,下面介绍下iOS中保存图片的一些东西 1.首先,在iOS中把图片保存到系统照片是比较简单 ...

  5. iOS-iOS调用相机调用相册【将图片保存到本地相册】

    设置头部代理 <UINavigationControllerDelegate, UIImagePickerControllerDelegate> 1.调用相机 检测前置摄像头是否可用 - ...

  6. React Native之图片保存到本地相册(ios android)

    React Native之图片保存到本地相册(ios android) 一,需求分析 1,react native保存网络图片到相册,iOS端可以用RN自带的CameraRoll完美解决,但是andr ...

  7. 小程序图片保存的相册授权失败问题,原接口wx.openSeting()已经废弃了的解决办法

    项目中使用的是wepy框架开发的小程序,,, 使用场景是,用户点击下载图片的时候,要调起授权button(小程序拉起授权的功能都集成在了button组件,所以这里需要用到button组件里的一个ope ...

  8. android将应用中图片保存到系统相册并显示

    我应用到的场景是程序中在视频通讯时截图,将截图保存到本地相册中 /*** @param bmp 获取的bitmap数据 * @param picName 自定义的图片名*/ public static ...

  9. [RN] React Native 图片保存到相册(支持 Android 和 ios)

    React Native 图片保存到相册(支持 Android 和 ios) 原理: IOS用 RN自带的 CameraRoll, Android 使用 不成功,需要 react-native-fs  ...

随机推荐

  1. jquery循环方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. RabbitMQ系列教程之四:路由(Routing)(转载)

    RabbitMQ系列教程之四:路由(Routing) (使用Net客户端) 在上一个教程中,我们构建了一个简单的日志系统,我们能够向许多消息接受者广播发送日志消息. 在本教程中,我们将为其添加一项功能 ...

  3. Mysql数据库如何创建用户

    创建test用户,密码是1234. MySQL u root -p CREATE USER 'test'@'localhost'  IDENTIFIED BY '1234'; #本地登录 CREATE ...

  4. 导入maven框架报错

    原因pom文件第一行报错X org.apache.maven.archiver.mavenarchiver.getmanifest怎么解决 解决: 原因就是你的maven的配置文件不是最新的 1.he ...

  5. mysql-5.5.20预编译安装

    1.MYSQL数据库概念 1)MYSQL是一款关系型数据库系统,数据之间有互相联系,互相的关联和调用的. 2)MYSQL数据用于存储:WEB网站用户名和密码等 3)MYSQL存储数据库是通过二维表格形 ...

  6. 学习JS的心路历程-类型

    前言 之前学JS时候都是靠着谷狗一路跌跌撞撞的学过来,从来没有去翻过MDN的文件,导致留了许多技术债给自己. 最近有幸遇到一位前辈并开始从头学JS,前辈表示学程序不看文件是想作死自己?于是我的第一份功 ...

  7. TensorFlow 辨异 —— tf.add(a, b) 与 a+b(tf.assign 与 =)、tf.nn.bias_add 与 tf.add(转)

    1. tf.add(a, b) 与 a+b 在神经网络前向传播的过程中,经常可见如下两种形式的代码: tf.add(tf.matmul(x, w), b) tf.matmul(x, w) + b 简而 ...

  8. CSS 字体风格

    粗体 font-weight 属性可以设置文本的粗细. 它有两个属性: normal 普通粗细 bold 粗文本 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  9. js 乘法 4.39*100 出现值不对问题解决

    https://www.jianshu.com/p/a026245661bb //除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显. ...

  10. Electrom will-download pause function

    1.code from github url-link: https://github.com/electron/electron/issues/7712 // to store downloadIt ...