Bootstrap

easyX(基本绘图和文字绘制)

简单图形的函数

circle - 圆,ellipes - 椭圆,pie - 扇形,polygon - 画多边形, rectangle - 矩形,roundrect - 圆角矩形,line - 画线,putpixel - 点

以圆为样例进行绘制

创建窗口

initgraph(长,高,flag);

第三个参数可以是创建一个输入窗口 initgraph(640, 480, SHOWCONSOLE);

输入数字的时候要用scanf_s;

 

背景颜色的绘制

首先要用:setbkcolor(颜色)来定义要绘制的背景颜色

然后用:cleandevice()来清屏

边框的样式

setlinestyle(高度,宽度, 字体);

例:setlinestyle(PS_SOLID, 5);   (PS_SOLID表示的是实线,选择PS_SOLID然后点击右键,进入转换到定义,可出现线条的种类)

边框颜色和填充颜色 

   // 填充颜色
    setfillcolor(YELLOW);
    //边框颜色
    setlinecolor(BLUE);

(VS里面有十六种原色)

圆的类型

   //x,y坐标和圆的半径(无填充)
    circle(10, 10, 50);
    //有边框填充
    fillcircle(100, 100, 50);
    //无边框填充
    solidcircle(200, 200, 50);

 绘制文字

设置文字颜色

settextcolor(颜色);

放置字符

outtextxy(x, y, '字符');

如果第三个参数为字符串,如果直接运行,会导致参数错误;

那么有三种解决方案:

1.在字符串前面加上大写的L;

outtextxy(x,y,L"字符串");

2.用TEXT(字符串)或者  _T();

outtextxy(x,y,TEXT("字符串"));

3.项目->属性->高级->字符集->多字节字符集

设置文字样式

settextstyle(大小, 0, "字体");  

例如:settextstyle(50, 0, "楷体");

计算长度与宽度

   //宽度
textwidth(arr)         arr是字符数组
    //长度
textheight(arr) 

将字符居中对齐

  

//宽度
	int width =300/2 - textwidth(arr)/2;
	//长度
	int height = 50/2-textheight(arr) / 2;
	outtextxy(width+200, height+50, arr);


   

代码段 

#include<stdio.h>

#include<graphics.h>

int main()
{
	//创建窗口
	initgraph(640, 480, SHOWCONSOLE);
	/*circle - 圆,ellipes - 椭圆,pie - 扇形,polygon - 画多边形
	rectangle - 矩形,roundrect - 圆角矩形,line - 画线,putpixel - 点*/
	//圆
	//设置背景颜色
	setbkcolor(GREEN);
	//清屏,实际上就是填充覆盖
	cleardevice();
	//边框样式(高度,宽度,字体)
	setlinestyle(PS_SOLID, 5);
	// 填充颜色
	setfillcolor(YELLOW);
	//边框颜色
	setlinecolor(BLUE);
	//x,y坐标和圆的半径(无填充)
	circle(10, 10, 50);
	//有边框填充
	fillcircle(100, 100, 50);
	//无边框填充
	solidcircle(200, 200, 50);

	//绘制文字
	//设置文字颜色
	settextcolor(RED);
	//设置文字样式,字体..

	settextstyle(20, 0, "楷体");
	//设置背景模式
	//trans parent 透明
	setbkmode(TRANSPARENT);
	settextcolor(RGB(0, 200, 99));
	outtextxy(50, 50, "我是太子!");

	//把文字居中
	//设置了一个矩形框,(左上方的x,y,右上方的x,y)
	fillrectangle(200, 50, 500, 100);
	settextcolor(RGB(200, 0, 0));
	char arr[] = "我是太子!";
	//字符串长度
	//宽度
	int width =300/2 - textwidth(arr)/2;
	//长度
	int height = 50/2-textheight(arr) / 2;
	outtextxy(width+200, height+50, arr);


	getchar();

	
	closegraph();

	return 0;
}

;