Kingfisher 5.13~ UIImageView、UIButton类扩展加载 网络图片
UIImage 图片压缩、沙盒存储


//MARK: - UIButton
extension UIButton {//UIButton kf网络 图片func setButton(url:String,placeholder:String){let placegholderImage = UIImage(named: placeholder)if url.count > 0 {let urlImage:ImageResource = ImageResource(downloadURL: URL(string: url)!)self.kf.setImage(with: urlImage, for: .normal, placeholder: placegholderImage)} else {self.setImage(placegholderImage, for: .normal)}}
}
//MARK: - UIImageView
extension UIImageView {//UIImageView 网络 图片func setImageView(url:String,placeholder:String){let placegholderImage = UIImage(named: placeholder)if url.count > 0 {let urlImage:ImageResource = ImageResource(downloadURL: URL(string: url)!)self.kf.setImage(with: urlImage, placeholder: placegholderImage)} else {self.image = placegholderImage}}
}
//MARK: - UIImage
extension UIImage {// 图片压缩static func imageCompress(image:UIImage) -> Data {var imgData = image.jpegData(compressionQuality: 1)if imgData!.count > 100 * 1024 {if imgData!.count > 1024 * 1024 { //1M以及以上imgData = image.jpegData(compressionQuality: 0.1)} else if imgData!.count > 512 * 1024 { //1M以及以上imgData = image.jpegData(compressionQuality: 0.3)}else if imgData!.count > 200 * 1024  {//0.25M-0.5MimgData = image.jpegData(compressionQuality: 0.5)} else {imgData = image.jpegData(compressionQuality: 0.8)}}return imgData!;}// 存储图片 到沙盒static func saveImage(image:UIImage,fileName:String) -> String {let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]let filePath = path.appending("/" + fileName)let data:Data = image.jpegData(compressionQuality: 1)!FileManager.default.createFile(atPath: filePath, contents: data, attributes: nil)return filePath}
}

有问题或建议 请联系

Kingfisher 5.13~ UIImageView、UIButton类扩展加载 网络图片相关推荐

  1. 这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析

    前言 package com.jvm.classloader;class Father2{public static String strFather="HelloJVM_Father&qu ...

  2. 尚硅谷 宋红康 JVM教程_02_字节码与类的加载篇

    本系列相关链接 尚硅谷 宋红康 JVM教程_01_内存与垃圾回收篇--01 (20210103-20210110) https://blog.csdn.net/wei198621/article/de ...

  3. 类加载器 - 类的加载、连接与初始化

    类的加载.连接与初始化 系统流小说 www.kuwx.net 概述 在Java代码中,类型的加载.连接与初始化过程都是在程序运行期间完成的 类型:可以理解为一个class 加载:查找并加载类的二进制数 ...

  4. JVM中篇:字节码与类的加载篇

    0.概述 0.1字节码文件的跨平台性 0.1.1.Java语言:跨平台的语言(write once,run anywhere) 当]ava源代码成功编译成字节码后,如果想在不同的平台上面运行,则无须再 ...

  5. JVM-01:类的加载机制

    本文从 纯洁的微笑的博客 转载 原地址:http://www.ityouknow.com/jvm.html 类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内 ...

  6. Java虚拟机 —— 类的加载机制

    我们知道class文件中存储了类的描述信息和各种细节的数据,在运行Java程序时,虚拟机需要先将类的这些数据加载到内存中,并经过校验.转换.解析和初始化过后,最终形成可以直接使用的Java类型. 类从 ...

  7. OpenCV中使用类VideoCapture加载视频和打开摄像头

    先直接上示例代码,然后对代码进行讲解. #!/usr/bin/env python # -*- coding: utf-8 -*- # 图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 248 ...

  8. 初识jvm-1.Java类的加载机制

    转载: jvm系列---纯洁的微笑 地址: http://www.ityouknow.com/jvm.html 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其 ...

  9. 从JVM看类的加载过程与对象实例化过程

    一. 类的加载过程 1. 类的加载过程大致是个什么过程? 我们编写产生.java文件,这些.java文件经过Java编译器编译成拓展名为.class的文件,.class文件中保存着Java代码经转换后 ...

最新文章

  1. 使用Docker快速搭建PHP开发环境
  2. elementary OS 6 评测!
  3. Qt学习五 - 对话框
  4. 如何解决连接不上us.archive.ubuntu.com
  5. Android 多状态加载布局的开发 Tips
  6. mysql wb bbu_BBU
  7. socket android用法,Android NDK中socket的用法以及注意事项分析
  8. 为什么稀疏自编码器的正则项选用了相对熵(KL散度)的函数?
  9. proxmoxve打造云桌面_最大亮点!山东众志电子为山东财经大学东方学院打造首个200点位云桌面考场...
  10. TABLE与DIV的取舍
  11. 经典神经网络 -- GoogLeNet / Inception : 设计原理与pytorch实现
  12. DCEP | 农行将上线数字人民币刷脸支付
  13. Windows客户端使用教程
  14. Elascicsearch集群搭建
  15. 《Using OpenRefine》翻译~8
  16. MessagingTimeout: Timed out waiting for a reply to message ID
  17. 电脑连接热点无internet访问权限_电脑连接手机热点时出来无internet安全是什么意思?...
  18. html5条件筛选jquery,jQuery实现多条件筛选
  19. 安装win10自带Linux子系统并用win10商店安装win10自带的Ubuntu
  20. 弧形背景html,弧形背景墙—弧形背景墙相关知识介绍

热门文章

  1. MySQL常见的数据类型有哪些?
  2. 微软将为美国员工提供无限期休假
  3. mktime() php,php中mktime()函数是什么
  4. 5月19日至20日,俄罗斯最大的开放式网络安全节Positive Hack Days举行!
  5. @media 判断iphone/ipad 各种机型
  6. 3D结构光人脸识别技术的优势
  7. 哈密尔顿回路 - 杂录
  8. HBase安装部署与基本操作
  9. 洛谷 [P1020] 导弹拦截 (N*logN)
  10. 2014-08-29 Last Day