汽车IVI中控开发入门及进阶(43):NanoVG
NanoVG:基于OpenGL的轻量级抗锯齿2D矢量绘图库
NanoVG
是一个跨平台、基于OpenGL
的矢量图形渲染库。它非常轻量级,用C语言实现,代码不到5000行,非常精简地实现了一套HTML5 Canvas API
,做为一个实用而有趣的工具集,用来构建可伸缩的用户界面和可视化效果。NanoVG-Library为脚本提供了功能丰富的API,以便在屏幕上绘制各种2D形状。API包括编写插件和Angelscript。NanoVG API
的设计完全基于HTML5 Canvas API
。如果熟悉Canvas
,很快就能掌握它的使用。
正如其名称所示的那样,是一个非常小巧的矢量绘图函数库。相比cairo和skia的数十万行代码,nanovg不足5000行的C语言代码,称为nano也是名副其实了。nanovg的设计、接口和代码质量都堪称典范,唯一美中不足的就是性能不太理想。特别是在Android的低端机型和大屏幕的机型上,一个简单的界面每秒只能画十几帧。最近我把awtk移植到Android上时,就碰到了这个尴尬的问