混合器的存在是为了适应不同平台、不同需求下的不同像素格式。混合器有三种: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都是无符号整型;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。