SDK中绘图函数的使用说明及自编写思路
摘要:SDK中集成了多种绘图函数,给Windows编程人员提供了便利。本文將针对其中四种(Polyline,PolyPolyline,Polygon,PolyPolygon)作详细说明,并对比其调用方法和实现功能的不同。并提供自己编写这四种函数的思路,经试验,效果与SDK中函数效果基本一致。
关键词:SDK;绘图函数;Windows编程
一、Polyline
顶点数组有7个元素,分别是一个三角形的三个顶点,一个方形的四个顶点(其余函数测试都使用同一个顶点数组)。调用Polyline,Polyline只能画一条折线,即将7个顶点依次连接,若顶点个数参数设为3,则只连顶点数组的前三个点。
二、PolyPolyline
PolyPolyline可以画多条折线。设定好PolyPolyline的每条线顶点个数数组为{3,4},则前3个点和后4个点分别被连成两条线。
三、Polygon
Polygon画一个闭合的多边形并填色。首先此函数将7个点连接并自动将最后一个点和第一个点相连形成闭合图形,再填色。
四、PolyPolygon
PolyPolygon画多个多边形并填色。与PolyPolyline一样,设定好一个多边形用几个顶点和多边形个数的参数,PolyPolygon连接第一组顶点,首尾相连并填充,再连接第二组顶点,首尾相连并填充。
五、编写绘图函数
1.MyPolyline
仿照Polyline的参数和返回,三个参数分别是hdc,CONST POINT *apt(POINT类型数组地址,顶点数组信息),csz(顶点个数),返回空。
数组地址apt为数组内第一个元素的地址,可以直接apt+i使指针在数组内移动。由于数组是结构体类型的,可以以地址访问结构体内成员,即apt->y。
函数编写思路简单,先用MoveToEx函数把画笔放到第一个顶点处,再for循环顶点个数-1次,每次都LineTo下一个顶点。
2.MyPolyPolyline
仿照PolyPolyline的参数和返回,四个参数分别是hdc,CONST POINT *apt(POINT类型数组地址,顶点数组信息),CONST DWORD *asz(DWORD类型数组地址,每条折线的顶点个数),DWORD csz(折线条数),返回空。
apt使用与Polyline相同。asz也是数组地址,也表示该数组第一个元素的地址,但这个数组里的元素不是结构体,要用*取出,asz+i指针移动,*(asz + i)取出指针指向的元素值。
函数体是一个两层嵌套的for循环,循环前先定义i、j都为0,i控制指向顶点数组里第几个点,j控制在画第几条线。第一层循环是折线条数循环,循环折线条数次,MoveToEx把笔抬起放到下一个起始顶点,并让i++,让内层循环从下一个点开始连。内层循环是每条线内的顶点连线循环,循环次数由asz数组内的值决定。也可以内层调Polyline实现。3.MyPolyPolygon
仿照PolyPolyline的参数和返回,四个参数分别是hdc,CONST POINT *apt(POINT类型数组地址,顶点数组信息),CONST INT *asz(INT类型数组地址,每条折线的顶点个数),DWORD csz(折线条数),返回空。
使用均同MyPolyPolyline。
函数体是一个for循环,循环内调用Polygon。Polygon的顶点数组参数是apt + i,i每次循环完加asz数组中这个多边形的顶点数,apt + i就移动到下一个多边形的第一个顶点处;Polygon的顶点数参数是*(asz+j)),j每次循环加1,即依次遍历asz数组的值。
参考文献
[1]云昌钦,袁灏.Microsoft Windows环境与编程基础[Z].
(作者单位:山东大学(威海)通信工程)
上一篇:浅谈FISHER调压阀常见故障分析
下一篇:炼化企业循环冷却水系统节水技术
最新推荐
- 1政府及行政事业单位管理会计应用问题研究
- 2高等学校债务风险管理研究
- 3基于平行文本比较模式的准技术词汇翻译探讨
- 4核心素养背景下的初中体育教学思考
- 5低压低产气井排水采气工艺技术分析
- 6“123”模式推进党组织领导的校长负责制
- 7孩子在家有说有笑,为何一出门就一言不发?
- 8肥厚型心肌病家系中MYBPC3-D1149fs*40新发突变的基因型及临床表型研究
- 9液压调速器AMESim动态仿真与参数优化
- 10基于经筋理论探讨活血定痛液定向透药对膝骨性关节炎患者及膝关节功能的影响
- 11文化生产还是文化再生产?——“学一代”与“学二代”的教育冲突与反思
- 12食物链
- 13难写字
- 14基于TPACK框架的,大学英语智慧教学评价体系探究
- 15跟着金庸的武侠小说,学习活用通感修辞
- 16新课改下高中英语教学中培养学生跨文化交际能力的策略
- 17封二:·科学小达人·
- 18中、蒙医文化融入医学通识英语课程教学的探索与思考
- 19树叶
- 20喵,一起藏猫猫吧
- 21克鲁普斯卡雅学前劳动教育思想及其启示
- 22难忘的体验
- 23凭空消失的10天
- 24冰雪城奇遇
- 25有点可爱有点“坏”
- 26高考地理试题体现“交通强国战略”的分析及教学启示
- 27在探秘自然中走进生活
- 28太,太
猜你喜欢
- 1“学习二十大永远跟党走奋进新征程”主题演讲比赛演讲稿10篇(全文)
- 22023年度党的路线方针政策10篇(2023年)
- 3组词造句24篇(完整)
- 4最新工程居间合同诈骗(十五篇)
- 5教师师风师德总结依法执教(19篇)
- 6组织开展家庭教育促进法宣传活动简报4篇(2023年)
- 7城管年度考核表7篇【精选推荐】
- 8职工工会申请书20篇
- 9入党谈话内容及注意事项13篇(完整)
- 10江西大山尾矿区铌钽矿地质特征及找矿标志研究
- 11试用期转正意见和建议4篇
- 12《民法典》概括条款的识别标准与类型构造
- 13高校原创红色话剧的审美创新——以长沙学院《日出湘江》为例
- 14最新七年级下册道德与法治教学计划(3篇)
- 15医院服务效能提升培训学习心得体会4篇
- 16执行政治纪律和政治规规矩方面3篇【优秀范文】
- 17会计职业道德风险及防范措施
- 18业主大会书面征求意见表决书4篇(完整文档)
- 192023年度村环境卫生整治活动简报8篇(范文推荐)
- 202023年度贯彻落实八项规定15篇
- 212023党员教师民主生活会批评与自我批评优秀3篇
- 22自立自强的议论文7篇
- 232023年大学试卷分析改进措施13篇
- 24不同类型钾肥对烤烟上部叶钾含量与碳氮代谢及品质的影响