简单使用 UIColor 生成 UIImage

由于种种原因,简书等第三方平台博客不再保证能够同步更新,欢迎移步 GitHub:https://github.com/kingcos/Perspective/。谢谢!

UIColor <-> UIImage

  • Info:
  • macOS 10.12.1
  • Xcode 8.1
  • Swift 3.0

前言

在平时的练习中,经常需要使用 UIImage,但图片又不好找。为了解决这个问题,我想到了使用 UIColor 生成 UIImage。该部分的具体知识涉及到 Core Graphics,也是一个新的知识点。在网上寻找一番,只有 Objective-C 版本,这次使用 Swift 3.0 进行重写。

Code

func generateImageWith(_ color: UIColor, andFrame frame: CGRect) -> UIImage? {
    // 开始绘图
    UIGraphicsBeginImageContext(frame.size)
    
    // 获取绘图上下文
    let context = UIGraphicsGetCurrentContext()
    // 设置填充颜色
    context?.setFillColor(color.cgColor)
    // 使用填充颜色填充区域
    context?.fill(frame)
    
    // 获取绘制的图像
    let image = UIGraphicsGetImageFromCurrentImageContext()
    
    // 结束绘图
    UIGraphicsEndImageContext()
    return image
}

使用时直接调用该方法,并传入相应参数即可,那么反过来呢?

let color = UIColor(patternImage: image!)

这样就可以从图片获取颜色。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容