文档章节

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

kingly09
 kingly09
发布于 2016/11/12 13:40
字数 277
阅读 12
收藏 0
点赞 0
评论 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
博文 13
码字总数 18270
作品 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
彻底解决Linux下LED的背光闪烁

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

树叶的BLOG
2017/12/03
0
0
在线处理图片--onlineps

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

匿名
2010/06/08
2.7K
0
PS的混合模式

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

NiceBlueChai
02/18
0
0
GPUImage是什么鬼

1.GPUImage介绍 GPUImage 是一个基于 GPU 图像和视频处理的开源 iOS 框架。由于使用 GPU 来处理图像和视频,所以速度非常快. 除了速度上的优势,GPUImage 还提供了很多很棒的图像处理滤镜,但...

hell03W
2016/06/13
80
0
keras学习笔记-黑白照片自动着色的神经网络-Alpha版

keras学习笔记-黑白照片自动着色的神经网络-Alpha版 如今,上色都是人手工用Photoshop做的,一张图片要花好几个月才能完成,需要进行大量调查研究,光是其中的一张脸就需要多达20层图层。但是...

gaoshine
2017/10/17
0
0
onlineps 在线处理图片官方说明

一个在线处理图片的应用程序,测试地址:http://webps.liuts.com 一、系统要求¶ LMAP ImageMagick prototype.js 二、支持浏览器¶ IE Firefox Chrome 三、支持功能¶ 图像加边框 改变尺寸 ...

renwofei423
2010/06/08
395
0
【Unity3D技术文档翻译】第3.4.2篇 灯光检查器(The Light Inspector)

上一章:【Unity3D技术文档翻译】第3.4.1篇 灯光类型 本章原文所在章节:【Unity Manual】→【Graphics】→【Graphics Overview】→【Lighting】→【Light sources】→【The Light Inspector...

何三思
07/08
0
0
[转载]支付宝发布数据可视化规范,可视化分析有套路!

早先,阿里发布了支付宝数据可视化规范,这是一套数据可视化的设计语言,对数据图形进行了拆解、提炼,从色彩搭配、组件规范、基础元素、功能上进行了归纳总结。 图表用色 图表用色上,提出了...

数据小人
2017/04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
1
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
12
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
2
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
2
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
1
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
今天
3
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部