文档章节

这是一个UIImage集合类,可以很方便的对图片的染料(着色),增加亮度(闪电)和降低亮度(黑)和其他扩展的功能模块。

kingly09
 kingly09
发布于 2016/11/12 13:40
字数 277
阅读 12
收藏 0

这是一个UIImage集合类,可以很方便的对图片的染料(着色),增加亮度(闪电)和降低亮度(黑)和其他扩展的功能模块。

在swift下实现图片染色

import UIKit

extension UIImage {


    ///  Just change a colored color image, is to change the image TintColo
    ///
    /// - Parameter tintColor: Need to change the color of the color
    /// - Returns: Returns an image
    func imageWithTintColor (tintColor: UIColor? = nil, alpha: CGFloat) -> UIImage?  {

        let rect = CGRect(x: 0.0, y: 0.0, width: self.size.width, height: self.size.height)

        UIGraphicsBeginImageContextWithOptions(rect.size,false,self.scale)

        draw(in: rect)

        let ctx = UIGraphicsGetCurrentContext()

        ctx!.setFillColor((tintColor?.cgColor)!)
        
        ctx!.setAlpha(alpha);
        
        ctx?.setBlendMode(.sourceAtop)
        
        ctx!.fill(rect);
        
        let result = UIGraphicsGetImageFromCurrentImageContext()
        
        UIGraphicsEndImageContext()
        
        return result
    }
}


Usage To swift

override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.


        let gift01ImageView = UIImageView(image: UIImage(named: "ic-gift"))
        
        gift01ImageView.frame =  CGRect(x: 50.0, y: 50.0, width: 48.0, height: 48.0)
        self.view!.addSubview(gift01ImageView)


        let gift02ImageView = UIImageView(image: UIImage(named: "ic-gift")?.imageWithTintColor(tintColor: UIColor.blue, alpha: 0.5))
     
        gift02ImageView.frame =  CGRect(x: 125.0, y: 50.0, width: 48.0, height: 48.0)
        self.view!.addSubview(gift02ImageView)

    }

gitHub Demo下载地址

© 著作权归作者所有

共有 人打赏支持
kingly09
粉丝 3
博文 14
码字总数 20300
作品 0
深圳
iOS工程师
UIImage-RTTint

UIImage-RTTint 是 UIImage 的分类,可以很方便给图片进行染色(Tinting)、增加亮度(lightening)以及降低亮度(darkening)。 使用方法: #import "UIImage+RTTint.h"...UIImage *image ...

红薯
2014/01/13
271
0
从0开始的OpenGL学习(二十九)

本文主要解答了3个问题,分别是: 1、什么是Gamma值? 2、为什么要进行Gamma校正? 3、如何进行Gamma修校正? 引言 到目前为止,我们渲染的场景看上去还不错。没错,是不错,但是,我们还想把...

闪电的蓝熊猫
2017/12/16
0
0
在线处理图片--onlineps

onlineps 是一个由天涯社区开发的在线处理图片的应用程序 主要功能包括: 图像加边框 改变尺寸 垂直翻转 水平翻转 图像凸边 图像凹边 图像锐化 图像单色 图像着色 图像马赛克 图像旋转 提高亮...

匿名
2010/06/08
2.7K
0
彻底解决Linux下LED的背光闪烁

彻底解决Linux下LED的背光闪烁 树叶的BLOG2017-12-039 阅读 ThinkPadLinux 前言 因为家里的那台笔记本太重了,前段时间换了台Thinkpad X250方便外出携带使用。X250的屏幕分辨率是1080P,但不...

树叶的BLOG
2017/12/03
0
0
PS的混合模式

如果你要经常使用Photoshop,那么你需要了解Photoshop一个简单却不容易理解的特性——混合模式。在Photoshop众多酷炫功能中,这是个很容易被人忽略的功能,但是看完这篇文章之后,希望会引起...

NiceBlueChai
02/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

八月新增开源项目:假装自己是图形界面的 Git 命令行工具

每月新增开源项目。顾名思义,每月更新一期。我们会从社区上个月新收录的开源项目中,挑选出有价值的、有用的、优秀的、或者好玩的开源项目来和大家分享。数量不多,但我们力求推荐的都是精品...

编辑部的故事
12分钟前
4
0
20180918 find命令与Linux文件扩展名

命令find 用来查找搜索文件。 搜索文件相关命令: which 从环境变量里的目录中去搜索 whereis(不常用) 从一个固定的库中搜索 locate(需要单独安装 yum install -y mlocate) 查询时会从/var/...

野雪球
14分钟前
1
0
一步步编写自己的PHP爬取代理IP项目(二)

这一章节我们正式开展我们的爬虫项目,首先我们先要知道哪个网站能获取到免费代理IP,目前比较火的网站有西刺代理,快代理等,这里我们拿西刺代理作为例子。 西刺代理官网: http://www.xic...

NateHuang
35分钟前
1
0
GO 数组相关操作

package mainimport("fmt""math/rand""time")func main() {//数组的几种定义方式var arr1 [3]int = [3]int{1,2,3}var arr2 = [3]int{4,5,6}arr3 := [3]string{"h", "w", ......

汤汤圆圆
今天
1
0
JAVA 中interrupt、interrupted和isInterrupted的区别

首先,我们说明下三个方法的功能 interrupt() 向当前调用者线程发出中断信号 isinterrupted() 查看当前中断信号是true还是false interrupted() 是静态方法,查看返回当前中断信号并将中断信号...

我爱春天的毛毛雨
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部