坚持 成长 每日一篇
引言
在计算机中,我们可以用ARGB色彩模式来表示一个像素点,每个像素点4个字节,每个字节分别存储ARGB中的一个值。
A:Alpha 透明度(图像通道)
R:Red 红色
G:Green 绿色
B:Blue 蓝色
一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。
如果图形卡具有32位总线,附加的8位信号就被用来保存不可见的透明度信号以方便处理用,这就是Alpha通道。白色的alpha象素用以定义不透明的彩色象素,而黑色的alpha象素用以定义透明象素,黑白之间的灰阶用来定义半透明象素。
对于IOS的Image对象我们可以通过控制图片的像素点而达到修改图片颜色,透明度的目的。
实例
1.定义个Color结构体用语保存ARGB
typedef struct {
Byte A;
Byte R;
Byte G;
Byte B;
}Color;
2.定义一个UIImage的类别
@interface UIImage (Color)
-(Byte*)getImageData;
-(Color)GetImageColorAtPointX:(int)X
PointY:(int)Y;
@end
@implementation UIImage (Color)
-(Byte*)getImageData
{
CGImageRef imageRef= [self CGImage];
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
size_t w