• 工作总结
  • 工作计划
  • 读后感
  • 发言稿
  • 心得体会
  • 思想汇报
  • 述职报告
  • 作文大全
  • 教学设计
  • 不忘初心
  • 打黑除恶
  • 党课下载
  • 主题教育
  • 谈话记录
  • 申请书
  • 对照材料
  • 自查报告
  • 整改报告
  • 脱贫攻坚
  • 党建材料
  • 观后感
  • 评语
  • 口号
  • 规章制度
  • 事迹材料
  • 策划方案
  • 工作汇报
  • 讲话稿
  • 公文范文
  • 致辞稿
  • 调查报告
  • 学习强国
  • 疫情防控
  • 振兴乡镇
  • 工作要点
  • 治国理政
  • 十九届五中全会
  • 教育整顿
  • 党史学习
  • 建党100周
  • 当前位置: 蜗牛文摘网 > 实用文档 > 公文范文 > SDK中绘图函数的使用说明及自编写思路

    SDK中绘图函数的使用说明及自编写思路

    时间:2022-09-08 22:10:07 来源:千叶帆 本文已影响


      摘要: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].
      (作者单位:山东大学(威海)通信工程)
    相关热词搜索:使用说明绘图函数编写思路

    • 名人名言
    • 伤感文章
    • 短文摘抄
    • 散文
    • 亲情
    • 感悟
    • 心灵鸡汤