1.图形库安装
实现画圆画方,需要图形库,这里选择easyx,安装使用较为简单快捷。在网上下载easyx官方安装文件,直接选择Visual C++ 2019,即可安装完毕,在VS中我就可以使用该图形库。
2.编写所需头文件
#include
#include
#include
#include
3.初始化easyx图像窗口
initgraph(840, 680);
4.创建两个线程
hThread[0] = CreateThread(NULL, 0, Draw1, 0, 0, &threadID);
hThread[1] = CreateThread(NULL, 0, Draw2, 0, 0, &threadID);
5.画圆画方函数定义
画方函数:
for (int i = 0; i < 180; i++)
{
putpixel(50 + i, 50, WHITE);
Sleep(10);
}
画圆函数:
for (int i = 0; i < 720; i++)
{
putpixel(350 + 90 * cos(-pi / 2 + (double)((i * pi) / 360)), 140 + 90 * sin(-pi / 2 + (double)((i * pi) / 360)), WHITE);
Sleep(10);
}
Sleep函数S大写时括号内为毫秒单位,s小写时括号内为秒单位
putpixel函数第一个参数为x坐标,第二个参数为y坐标,最后一个参数为颜色
6.关闭视窗编写
closegraph();
#include
#include
#include
#include
#define pi 3.14
DWORD WINAPI draw1(LPVOID)
{
for (int i = 0; i < 180; i++)
{
putpixel(50 + i, 50, WHITE);
Sleep(10);
}
for (int i = 0; i < 180; i++)
{
putpixel(50 + 180, 50 + i, WHITE);
Sleep(10);
}
for (int i = 0; i < 180; i++)
{
putpixel(50 + 180 - i, 50 + 180, WHITE);
Sleep(10);
}
for (int i = 0; i < 180; i++)
{
putpixel(50, 50 + 180 - i, WHITE);
Sleep(10);
}
return 0;
}
DWORD WINAPI draw2(LPVOID)
{
for (int i = 0; i < 720; i++)
{
putpixel(350+100*cos(-pi/2+(double)((i*pi)/360)), 140 + 100*sin(-pi / 2 + (double)((i*pi)/360)), WHITE);
Sleep(10);
}
return 0;
}
int main()
{
initgraph(840, 680);
HANDLE hThread[2];
DWORD threadID;
hThread[0] = CreateThread(NULL, 0, draw1, 0, 0, &threadID);
hThread[1] = CreateThread(NULL, 0, draw2, 0, 0, &threadID);
getchar();
closegraph();
return 0;
}
本文简单实现了画圆画方的并行操作。
有任何问题都可以在评论区和我交流~~