用c++画图需要添加静态库。
在vs属性中,c++常规里面添加附加文件目录
还有设置连接器的链接器目录
这两个添加的就是你要包含进来的文件夹名字
#include "stdafx.h"
#include "conio.h"
#include<graphics.h>
#pragma comment (lib,"graphicswu.lib")
#define KEYDOWN(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000)?1:0)
#define KEYUP(vk_code) ((GetAsyncKeyState(vk_code) & 0x8000)?0:1)
bool SetRectInRegion(RECT src, RECT desc);
int _tmain(int argc, _TCHAR* argv[])
{
initgraph(640, 480); // 开启图形界面
moveto(100, 150); // 移动整个窗体
int speed = 0; // 圆的移动速度
int x = 0; // 圆的坐标
while(true)
{
// 6、画实心矩形(这里做背景使用)
setfillstyle(RGB(0,0,0)); // 设置矩形颜色
bar(0, 0, 640, 480); // 画实心矩形
/* setfillstyle(RGB(0,255,0)); // 设置矩形颜色
bar(500, 200, 640, 280); // 画实心矩形
// 1、画点: 参数1:点的X坐标,参数2:点的Y坐标 参数3:点的颜色
putpixel(6,8,RGB(255,255,255));
// 2、画线
// 设置线的颜色
setcolor(RGB(0,255,0));
// 参数1:线的X起点 参数2:线的Y起点 参数3:线的X结束点 参数4:线的Y结束点
line(200,66,88,88);
// 3、设置线的类型
// 参数1:线型 参数2:不需要理解 参数3:线的宽度
setlinestyle(DASHED_LINE, 0, 10);
line(66,66,88,88);
setlinestyle(SOLID_LINE); // 应该把线形设置回来,不然会影响后面
// 4、画线(此功能不太好解释,我们改数值,可以看看功能)
// 当前绘图色、线型及线宽,从当前位置开始,按指定的水平和垂直偏移距离画一直线
// 此函数可使用在刮风、下雨等特效上,其它地方用不上。
linerel(10,5);
// 5、画矩形
// 参数1:矩形的X起点 参数2:矩形的Y起点 参数3:矩形的X终点 参数4:矩形的Y终点
rectangle(300,80,400,200);
// 7、画3D矩形
// 设置3D矩形的边框颜色
setcolor(RGB(255,0,0));
// 设置3D矩形的面颜色
setfillstyle(RGB(0,0, 255));
// 3D矩形
// 参数1:矩形的X起点 参数2:矩形的Y起点
// 参数3:矩形的X终点 参数4:矩形的Y终点
// 参数5:矩形的Z长度 参数6:设置顶面,1 有顶面,0 没有顶面
bar3d(360,280,460,340,80,1);
// 8、画多边形
// 多边形数组,每两个位置代表一个点(例如:180,100 为一个点, 210,120 为一个点,加起来共9个点)
int polypoints2[18]={180,100,210,120,200,130,220,125,240,140,230,120,240,110,220,115,180,100};
// 参数1:多边形的顶点数 参数2:多边形的数组
drawpoly(9,polypoints2);
*/
// 9、画圆
setcolor(RGB(255,0,0));
// 参数1:圆的X坐标;参数2:圆的Y坐标; 参数3:圆的半径
circle(x+100, 200, 100); // 画圆,圆心(200, 200),半径 100
/*
// 10、画弧
setcolor(RGB(10, 200, 43));
// 参数1:弧的X坐标 参数2:弧的Y坐标
// 参数3:弧的角度起点 参数4:弧的角度终点
// 参数5:弧的半径
arc(500,200,0,120,100);
// 11、画椭圆弧
// 参数1:椭圆的X坐标 参数2:椭圆的Y坐标
// 参数3:椭圆的开始角度 参数4:椭圆的结束角度
// 参数5:椭圆的宽度 参数6:椭圆的高度
ellipse(500,50,0,360,80,60); // 没有弧的椭圆
ellipse(400,50,0,240,80,40); // 有弧的椭圆
// 12、画椭圆区
// 参数1:椭圆的X坐标 参数2:椭圆的Y坐标
// 参数3:椭圆的宽度 参数4:椭圆的高度
fillellipse(100,400,66,44);
// 13、画扇区
// 参数1:扇区的X坐标 参数2:扇区的Y坐标
// 参数3:扇区的起点 参数4:扇区的终点
// 参数5:扇区的半径
pieslice(260,400,0,45,100);
// 14、画椭圆扇区
// 参数1:扇区的X坐标 参数2:扇区的Y坐标
// 参数3:扇区的起点 参数4:扇区的终点
// 参数5:扇区的宽度 参数5:扇区的高度 (半径)
sector(500,400,0,656,80,80);
// 键盘控制
speed = 0;
if(KEYDOWN(VK_LEFT)) // 按下向左键
speed = -5;
if(KEYDOWN(VK_RIGHT)) // 按下向右键
speed = 5;
if(KEYDOWN(VK_ESCAPE)) // 按 ESC键 退出
return 0;
*/
// 获取一条鼠标消息(获取速度较慢,建议少用)
/*MOUSEMSG m = GetMouseMsg();
switch(m.uMsg)
{
case WM_MOUSEMOVE:
break;
case WM_LBUTTONDOWN:
// 如果点左键的同时按下了 Ctrl 键
if (m.mkCtrl)
{
}
break;
}*/
x += speed;
// 获得鼠标坐标
POINT m_MPos;
::GetCursorPos(&m_MPos);
char szText[128];
sprintf(szText, "X:%d Y:%d", m_MPos.x, m_MPos.y);
// 画文字
setcolor(RGB(255, 255, 0)); // 设置字体颜色
::setfont(100, 20, "SIMFANG");
// 参数1:文字的X坐标 参数2:文字的Y坐标 参数3:字符串
outtextxy(50, 0, szText); // 输出时需要把属性中的字符集“使用 Unicode 字符集”改为“未设置”
Sleep(100); // 系统延迟
}
closegraph(); // 关闭图形界面
return 0;
}