绘制正弦函数的c语言程序,C语言控制台应用程序GDI绘制正弦曲线.pdf

C语语言言控控制制台台应应用用程程序序GDI绘绘制制正正弦弦曲曲线线

出于本科教学的目的,需要使用C语言在V isual Studio下控制台应用程序中动态绘制曲线,在 查阅了一些资料,制作了一个绘

制动态正弦曲线的Demo ,大家可根据这个例子查阅GDI、GDI+手册,根据需求丰富自己的绘图程序。

#include //引入wingdi.h

#include

#include

#include

#include

#define PI 3.1416

#define ORIGI X 0 //曲线起点X坐标

#define ORIGI Y 200 //曲线起点Y坐标

#define LE GTHX 800 //X坐标轴长度

#define LE GTHY 300 //Y坐标轴长度

#define XDATALE 300//X坐标数据量

HDC hdc = 0;//控制台绘图设备描述句柄 HDC

HPE hPen, hPen2;//画笔变量

HPE hPenOld;

TCHAR title[256];//控制台程序标题

int times = 0;//绘制次数变量

double datay[XDATALE ];//曲线纵坐标数组

//绘制清屏矩形

void ClearWind(HDC hdc)

{

HPE 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, ORIGI X, 0, ORIGI X + LE GTHX + 1, ORIGI Y + LE GTHY + 1);

}

int main()

{

//获取控制台标题

GetConsoleTitle(title, 256);

//先通过FindWindow函数借助标题获取窗口句柄HW D,之后再利用GetDC函数借助HW D获取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 = (HPE )SelectObject(hdc, hPen);

while (1)

{

ClearWind(hdc);//清屏

hPenOld = (HPE )SelectObject(hdc, hPen);//选择画笔

MoveToEx(hdc, ORIGI X, ORIGI Y, ULL);//移动到起点

for (int i = 0; i < XDATALE ; i++)

{

datay[i] = sin(0.1*i + times);//生成曲线纵坐标数组

}

for (int i = 0; i < XDATALE ; i++)

{

//绘制线段,连接前一个点与下一个点,第二个参数为目标点x坐标,第三个参数为y坐标

LineTo(hdc, LE GTHX * i / XDATALE + ORIGI X, 0.5 * LE GTHY * datay[i] + ORIGI Y);

}

//创建绘制x轴的pen并将其选入设备上下文

hPenOld = (HPE )SelectObject(hdc, hPen2);//选择画笔

MoveToEx(hdc, OR

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值