UGL之绘制多边形

只愿长相守 提交于 2020-11-23 08:25:07

欢迎关注VxWorks567

如转发,请标明出处!

 

今天来看看WindML里绘制多边形的操作


主要函数就是uglPolygon(),参数pData用于指明每个顶点的坐标,首尾两个点需要一致,所以其个数numPoints比多边形的实际顶点数要多一个,另外还需要指明前景色(边框)和背景色(填充)


除了这种常见的凸多边形,还支持凹多边形


以及自相交图形


或者简单一些:空心图形,即只有边框,只需要把背景色设置为透明即可


无边框图形呢?两种方案:前景透明,或线宽为0


边框默认是宽度为1的实线,试试换成其它值

如果首尾不一致,则表示非封闭图形,即折线

此时的背景就得是透明的,否则WindML就晕了

不同的光栅效果,uglRasterModeSet(),可以参考画线操作

如果需要绘制的多边形是个矩形,且其中一条边是水平方向的,可以直接使用uglRectangle()。不仅参数简单了,更重要的是:底层驱动可以用水平线或区域填充来实现,再配上显卡的硬件加速功能,绘制速度可以成百上千倍的提升

最后还有背景区域的模式填充,uglFillPatternSet(),有空专门写个例子试试

 

我是泰山,专注VX 15年!

一起学习,共同进步!

 


本文分享自微信公众号 - 这里只有VxWorks(VxWorks567)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!