简单图形的函数
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;
}