nanovg 函数使用

这篇博客详细介绍了Nanovg库的使用,包括Color工具、渲染模式、变换矩阵(缩放、倾斜、平移)的实现,以及如何创建图像、设置Paints、进行Scissoring操作、构建Path和显示Text。对于Nanovg初学者,这是一个全面的指南。
摘要由CSDN通过智能技术生成

Nanovg 函数使用

1.    Color常用工具:

1

返回指定整数RGB的颜色,RGB范围0-255.

NVGcolor nvgRGB(unsigned char r, unsigned char g, unsigned char b);

2

返回指定小数RGB的颜色,RGB范围0-1.0

NVGcolor nvgRGBf(float r, float g, float b);

3

返回指定整数RGB和透明度的颜色

NVGcolor nvgRGBA(unsigned char r, unsigned char g, unsigned char b, unsigned char a);

4

返回指定浮点数RGB和透明度的颜色

NVGcolor nvgRGBAf(float r,float g, float b,float a);

5

返回颜色c0和颜色c1之间的中间色,0<=u<=1

NVGcolor nvgLerpRGBA(NVGcolor c0, NVGcolor c1, float u);

6

返回颜色为c0并用a指定透明度。0<=a<=255

NVGcolor nvgTransRGBA(NVGcolor c0, unsigned char a);

7

返回颜色为c0并用a指定透明度。0<=a<=1.0

NVGcolor nvgTransRGBAf(NVGcolor c0, float a);

8

返回指定小数HSL的颜色,HSL范围0-1.0

NVGcolor nvgHSL(float h, float s, float l);

9

返回指定浮点数HSL和透明度的颜色,0<=a<=255

NVGcolor nvgHSLA(float h, float s, float l, unsigned char a);

 

2.    渲染模式

1

指定笔刷模式为具体的颜色。

void nvgStrokeColor(NVGcontext* ctx, NVGcolor color);

2

指定笔刷模式为paint,paint可以是渐变也可以是其他模式。

void nvgStrokePaint(NVGcontext* ctx, NVGpaint paint);

3

指定填充为具体的颜色。

void nvgFillColor(NVGcontext* ctx, NVGcolor color);

4

指定填充模式为paint,paint可以是渐变也可以是其他模式。

void nvgFillPaint(NVGcontext* ctx, NVGpaint paint);

5

指定笔刷在拐角处是否为斜面。

void nvgMiterLimit(NVGcontext* ctx,float limit);

6

指定笔刷的宽度。

void nvgStrokeWidth(NVGcontext* ctx,float size);

7

设置笔画的末端的类型(NVG_BUTT | NVG_ROUND | VNG_SQUARE)

void nvgLineCap(NVGcontext* ctx,int cap);

8

指定连接部分的类型

(NVG_MITER | NVG_ROUND | NVG_BEVEL)

void nvgLineJoin(NVGcontext* ctx,int join);

9

指定全局的Alpha值。

void nvgGlobalAlpha(NVGcontext* ctx,float alpha);

 

3.    变换

变换有3种:缩放(scal)、倾斜(skew)、平移(translate)。在nanovg中使用了一个变换矩阵(第二个矩阵只是说明在程序中对应的a、b、c……等参数):

[sx kx tx]           [a c  e]

[ky xy ty]  ==》 [b  d  f]

[  0   0 1]           [0  0 1],

其中sx、sy为缩放,kx、ky为歪斜,tx、ty为平移。后面的[0  0  1]不做存储。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值