用c++画图

      
用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;
}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值