欢迎关注VxWorks567
如转发,请标明出处!
今天来看看WindML里绘制多边形的操作
主要函数就是uglPolygon(),参数pData用于指明每个顶点的坐标,首尾两个点需要一致,所以其个数numPoints比多边形的实际顶点数要多一个,另外还需要指明前景色(边框)和背景色(填充)
除了这种常见的凸多边形,还支持凹多边形
以及自相交图形
或者简单一些:空心图形,即只有边框,只需要把背景色设置为透明即可
无边框图形呢?两种方案:前景透明,或线宽为0
边框默认是宽度为1的实线,试试换成其它值
如果首尾不一致,则表示非封闭图形,即折线
此时的背景就得是透明的,否则WindML就晕了
不同的光栅效果,uglRasterModeSet(),可以参考画线操作
如果需要绘制的多边形是个矩形,且其中一条边是水平方向的,可以直接使用uglRectangle()。不仅参数简单了,更重要的是:底层驱动可以用水平线或区域填充来实现,再配上显卡的硬件加速功能,绘制速度可以成百上千倍的提升
最后还有背景区域的模式填充,uglFillPatternSet(),有空专门写个例子试试
我是泰山,专注VX 15年!
一起学习,共同进步!
本文分享自微信公众号 - 这里只有VxWorks(VxWorks567)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4470120/blog/4366314