国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言控制臺應用程序GDI繪制正弦曲線

2020-01-26 13:26:55
字體:
來源:轉載
供稿:網友

出于本科教學的目的,需要使用C語言在Visual Studio下控制臺應用程序中動態繪制曲線,在此查閱了一些資料,制作了一個繪制動態正弦曲線的Demo,大家可根據這個例子查閱GDI、GDI+手冊,根據需求豐富自己的繪圖程序。

#include <windows.h>//引入wingdi.h#include <stdio.h>#include <math.h>#include <time.h>#include <conio.h> #define PI 3.1416 #define ORIGINX 0 //曲線起點X坐標#define ORIGINY 200 //曲線起點Y坐標#define LENGTHX 800 //X坐標軸長度#define LENGTHY 300 //Y坐標軸長度#define XDATALEN 300//X坐標數據量 HDC hdc = 0;//控制臺繪圖設備描述句柄 HDCHPEN hPen, hPen2;//畫筆變量HPEN hPenOld;TCHAR title[256];//控制臺程序標題int times = 0;//繪制次數變量double datay[XDATALEN];//曲線縱坐標數組   //繪制清屏矩形void ClearWind(HDC hdc){ HPEN hPen; HBRUSH hBrush; hBrush = CreateSolidBrush(RGB(0, 0, 0)); hPen = CreatePen(PS_SOLID, 0, RGB(0, 0, 0)); SelectObject(hdc, hBrush); SelectObject(hdc, hPen); //繪制黑色矩形,范圍可根據需要自行更改 Rectangle(hdc, ORIGINX, 0, ORIGINX + LENGTHX + 1, ORIGINY + LENGTHY + 1);} int main(){ //獲取控制臺標題 GetConsoleTitle(title, 256); //先通過FindWindow函數借助標題獲取窗口句柄HWND,之后再利用GetDC函數借助HWND獲取HDC hdc = GetDC(FindWindow(0, title)); hPen = CreatePen(PS_SOLID, 3, RGB(255, 0, 0));//設置曲線畫筆,紅色 hPen2 = CreatePen(PS_SOLID, 3, RGB(0, 0, 255));//設置X軸畫筆,藍色 hPenOld = (HPEN)SelectObject(hdc, hPen);  while (1) { ClearWind(hdc);//清屏 hPenOld = (HPEN)SelectObject(hdc, hPen);//選擇畫筆 MoveToEx(hdc, ORIGINX, ORIGINY, NULL);//移動到起點  for (int i = 0; i < XDATALEN; i++) { datay[i] = sin(0.1*i + times);//生成曲線縱坐標數組 }  for (int i = 0; i < XDATALEN; i++) { //繪制線段,連接前一個點與下一個點,第二個參數為目標點x坐標,第三個參數為y坐標 LineTo(hdc, LENGTHX * i / XDATALEN + ORIGINX, 0.5 * LENGTHY * datay[i] + ORIGINY); } //創建繪制x軸的pen并將其選入設備上下文 hPenOld = (HPEN)SelectObject(hdc, hPen2);//選擇畫筆 MoveToEx(hdc, ORIGINX, ORIGINY, NULL);//移動到起點 LineTo(hdc, ORIGINX + LENGTHX, ORIGINY);//繪制X軸直線 times++; Sleep(100);//延時100ms  if (kbhit())//檢查是否有按鍵按下 { if (_getch() == 0x1b)//若按下ESC鍵跳出循環 { break; } } }  DeleteObject(hPen);//刪除畫筆 DeleteObject(hPen2);//刪除畫筆 return 0;}

運行結果如下所示:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 怀仁县| 平凉市| 天全县| 左权县| 新宾| 逊克县| 正阳县| 吉木乃县| 信阳市| 临朐县| 南漳县| 吉水县| 微山县| 龙南县| 绵阳市| 禹州市| 余江县| 赤城县| 中江县| 酒泉市| 鄂尔多斯市| 枣阳市| 江源县| 肥城市| 五河县| 长汀县| 德阳市| 伊川县| 田林县| 巴南区| 施秉县| 涪陵区| 盱眙县| 原平市| 柳河县| 阆中市| 容城县| 前郭尔| 岳普湖县| 革吉县| 定州市|