999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SDK中繪圖函數(shù)的使用說明及自編寫思路

2019-04-17 13:01:36田慕晨
科學(xué)與技術(shù) 2019年18期

田慕晨

摘要:SDK中集成了多種繪圖函數(shù),給Windows編程人員提供了便利。本文將針對(duì)其中四種(Polyline,PolyPolyline,Polygon,PolyPolygon)作詳細(xì)說明,并對(duì)比其調(diào)用方法和實(shí)現(xiàn)功能的不同。并提供自己編寫這四種函數(shù)的思路,經(jīng)試驗(yàn),效果與SDK中函數(shù)效果基本一致。

關(guān)鍵詞:SDK;繪圖函數(shù);Windows編程

一、Polyline

頂點(diǎn)數(shù)組有7個(gè)元素,分別是一個(gè)三角形的三個(gè)頂點(diǎn),一個(gè)方形的四個(gè)頂點(diǎn)(其余函數(shù)測(cè)試都使用同一個(gè)頂點(diǎn)數(shù)組)。調(diào)用Polyline,Polyline只能畫一條折線,即將7個(gè)頂點(diǎn)依次連接,若頂點(diǎn)個(gè)數(shù)參數(shù)設(shè)為3,則只連頂點(diǎn)數(shù)組的前三個(gè)點(diǎn)。

二、PolyPolyline

PolyPolyline可以畫多條折線。設(shè)定好PolyPolyline的每條線頂點(diǎn)個(gè)數(shù)數(shù)組為{3,4},則前3個(gè)點(diǎn)和后4個(gè)點(diǎn)分別被連成兩條線。

三、Polygon

Polygon畫一個(gè)閉合的多邊形并填色。首先此函數(shù)將7個(gè)點(diǎn)連接并自動(dòng)將最后一個(gè)點(diǎn)和第一個(gè)點(diǎn)相連形成閉合圖形,再填色。

四、PolyPolygon

PolyPolygon畫多個(gè)多邊形并填色。與PolyPolyline一樣,設(shè)定好一個(gè)多邊形用幾個(gè)頂點(diǎn)和多邊形個(gè)數(shù)的參數(shù),PolyPolygon連接第一組頂點(diǎn),首尾相連并填充,再連接第二組頂點(diǎn),首尾相連并填充。

五、編寫繪圖函數(shù)

1.MyPolyline

仿照Polyline的參數(shù)和返回,三個(gè)參數(shù)分別是hdc,CONST POINT *apt(POINT類型數(shù)組地址,頂點(diǎn)數(shù)組信息),csz(頂點(diǎn)個(gè)數(shù)),返回空。

數(shù)組地址apt為數(shù)組內(nèi)第一個(gè)元素的地址,可以直接apt+i使指針在數(shù)組內(nèi)移動(dòng)。由于數(shù)組是結(jié)構(gòu)體類型的,可以以地址訪問結(jié)構(gòu)體內(nèi)成員,即apt->y。

函數(shù)編寫思路簡(jiǎn)單,先用MoveToEx函數(shù)把畫筆放到第一個(gè)頂點(diǎn)處,再for循環(huán)頂點(diǎn)個(gè)數(shù)-1次,每次都LineTo下一個(gè)頂點(diǎn)。

2.MyPolyPolyline

仿照PolyPolyline的參數(shù)和返回,四個(gè)參數(shù)分別是hdc,CONST POINT *apt(POINT類型數(shù)組地址,頂點(diǎn)數(shù)組信息),CONST DWORD *asz(DWORD類型數(shù)組地址,每條折線的頂點(diǎn)個(gè)數(shù)),DWORD csz(折線條數(shù)),返回空。

apt使用與Polyline相同。asz也是數(shù)組地址,也表示該數(shù)組第一個(gè)元素的地址,但這個(gè)數(shù)組里的元素不是結(jié)構(gòu)體,要用*取出,asz+i指針移動(dòng),*(asz + i)取出指針指向的元素值。

函數(shù)體是一個(gè)兩層嵌套的for循環(huán),循環(huán)前先定義i、j都為0,i控制指向頂點(diǎn)數(shù)組里第幾個(gè)點(diǎn),j控制在畫第幾條線。第一層循環(huán)是折線條數(shù)循環(huán),循環(huán)折線條數(shù)次,MoveToEx把筆抬起放到下一個(gè)起始頂點(diǎn),并讓i++,讓內(nèi)層循環(huán)從下一個(gè)點(diǎn)開始連。內(nèi)層循環(huán)是每條線內(nèi)的頂點(diǎn)連線循環(huán),循環(huán)次數(shù)由asz數(shù)組內(nèi)的值決定。也可以內(nèi)層調(diào)Polyline實(shí)現(xiàn)。3.MyPolyPolygon

仿照PolyPolyline的參數(shù)和返回,四個(gè)參數(shù)分別是hdc,CONST POINT *apt(POINT類型數(shù)組地址,頂點(diǎn)數(shù)組信息),CONST INT *asz(INT類型數(shù)組地址,每條折線的頂點(diǎn)個(gè)數(shù)),DWORD csz(折線條數(shù)),返回空。

使用均同MyPolyPolyline。

函數(shù)體是一個(gè)for循環(huán),循環(huán)內(nèi)調(diào)用Polygon。Polygon的頂點(diǎn)數(shù)組參數(shù)是apt + i,i每次循環(huán)完加asz數(shù)組中這個(gè)多邊形的頂點(diǎn)數(shù),apt + i就移動(dòng)到下一個(gè)多邊形的第一個(gè)頂點(diǎn)處;Polygon的頂點(diǎn)數(shù)參數(shù)是*(asz+j)),j每次循環(huán)加1,即依次遍歷asz數(shù)組的值。

參考文獻(xiàn)

[1]云昌欽,袁灝.Microsoft Windows環(huán)境與編程基礎(chǔ)[Z].

(作者單位:山東大學(xué)(威海)通信工程)

主站蜘蛛池模板: 99精品热视频这里只有精品7 | 国产精品无码AV片在线观看播放| 国产污视频在线观看| 91久久国产综合精品女同我| 亚洲小视频网站| 国产精品露脸视频| 亚洲人成网线在线播放va| 午夜福利视频一区| 亚洲自拍另类| 91视频首页| 国产成人一区免费观看| 日韩性网站| 国产精品刺激对白在线| 91精品专区| 视频二区欧美| 丁香婷婷激情网| 无码一区中文字幕| 国产日韩精品一区在线不卡| 成人福利在线观看| 国产精品综合久久久 | 国内精品久久九九国产精品| 天天婬欲婬香婬色婬视频播放| 亚洲天堂成人在线观看| 久久久久亚洲av成人网人人软件| 日韩精品亚洲一区中文字幕| 久久国产免费观看| 日韩久草视频| 在线视频亚洲色图| 亚洲码在线中文在线观看| 四虎在线高清无码| 尤物视频一区| 日本人妻一区二区三区不卡影院| 57pao国产成视频免费播放| 国产综合精品一区二区| 久久国产亚洲偷自| 亚洲第一视频区| 亚洲第一黄色网址| 国产主播福利在线观看| 色综合久久88色综合天天提莫 | 国产国产人成免费视频77777| 一级福利视频| 亚洲精品无码日韩国产不卡| 中日无码在线观看| 日本三区视频| 成人精品在线观看| 狠狠亚洲婷婷综合色香| 四虎综合网| 国产原创第一页在线观看| 99re经典视频在线| 成人日韩欧美| 亚洲免费毛片| 人妻精品久久无码区| 奇米影视狠狠精品7777| 狠狠v日韩v欧美v| 97久久免费视频| 高清色本在线www| 色欲不卡无码一区二区| 青青草国产在线视频| 性色一区| 亚洲欧美日韩动漫| 9久久伊人精品综合| 青草视频久久| 国产成人精品一区二区不卡| 国产高清国内精品福利| 2048国产精品原创综合在线| 99在线视频网站| 久久综合亚洲鲁鲁九月天| 国产精品亚洲а∨天堂免下载| 亚洲日韩精品欧美中文字幕| 精品国产一区91在线| 国产美女精品人人做人人爽| 国产亚洲欧美在线专区| 就去吻亚洲精品国产欧美| 欧美日韩国产精品综合| 久久国产拍爱| 欧美日韩导航| 亚洲Aⅴ无码专区在线观看q| 免费视频在线2021入口| 国产网友愉拍精品| 成人综合久久综合| 欧美成人免费午夜全| 美女扒开下面流白浆在线试听|