AGG第五课 RGB颜色定义

系统运维

    混合器的存在是为了适应不同平台、不同需求下的不同像素格式。混合器有三种:agg::rgba,agg::rgba8和agg::rgba16,都是用来指定颜色的,rgba每个通道储存为double,rgba8为unsigned char,rgba16为int或long int;混合器起到的作用就像Win32API里的RGB和COLORREF宏。

针对agg::rgba特别说明:每一个分量虽然使用double类型保存,但是实际上,取值区间是[0,1],而agg::rgba8每一个分量的取值是[0,255]

头文件#include agg_pixfmt_rgba.h

类型定义

struct rgba8; //对,你没有看错,是结构,不是类……

基本成员函数

rgba8(unsigned r, unsigned g, unsigned b,unsigned a)

       无须解释了吧,最大255;

clear(), no_color()

       四个通道全部清零,也就是变没色咯;

transparent()

       alpha清零,变透明;

opacity()

       返回透明度,用double表示;

gradient(agg::rgba8 &c, double k)

       颜色梯度,就是颜色变为从原先的颜色渐变为c,变化率为k;

add(agg::rgba8 &c, unsinged cover)

       颜色叠加,叠加一个透明度为cover/255的颜色c;

成员变量

 

r, g, b, a都是无符号整型;

新网虚拟主机

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注