修改像素点、调整亮度、操作内存
STEP1 写几个宏定义
#ifndef WKColor_h
#define WKColor_h
/*
获取红色分量值
分析:逻辑运算(逻辑且运算)
1、将十进制转(color)为二进制,同时将16进制(0xFF)转为二进制
color是十进制数,0xFF是十六进制的数
十进制: color = 4292140483
二进制:color = 11111111110101001101110111000011
十六进制:0xFF
二进制:11111111
2、进行逻辑计算 & (同时为1,结果为1。 否则是0)
color = 11111111 11010100 11011101 11000011
0xFF = 00000000 00000000 00000000 11111111
所以 R = 00000000 00000000 00000000 11000011 = 195
*/
#define Mask8(x) ( (x) & 0xFF )
#define R(x) ( Mask8(x) )
/*
获取绿色分量值
1、进行移位运算 ( 向右移动8位。右移干掉低位,左移干掉高位)
color = 11111111 11010100 11011101 11000011
之后,
color = 11111111 11010100 11011101
2、进行逻辑运算
color = 11111111 11010100 11011101
0xFF = 00000000 00000000 11111111
G = 00000000 00000000 11011101 = 221
*/
#define G(x) ( Mask8(x >> 8) )
#define B(x) ( Mask8(x >> 16) )
#define A(x) ( Mask8(x >> 24) )
#define RGBMake(r,g,b,a) ( Mask8(r) | Mask8(g) << 8 | Mask8(b) << 16 | Mask8(a) << 24 )
#endif /* WKColor_h */
STEP2 代码实现美白功能
+ (UIImage *)imageWhitening:(