静态绘制:
1、绘制 线,方,圆。
2、颜色填充。
3、基本颜色设置。
4、设置动态效果
1、绘制 线,方,圆。
(1)画一条线
#include<graphics.h>//调用图形库头文件
#include<conio.h>
int main()
{
int x1, y1, x2, y2;//定义线的两边端点坐标
x1 = 200;//端点坐标赋值
y1 = 300;
x2 = 400;
y2 = 300;
initgraph(600, 600);//初始化一个600*600大小的画布窗口
line(x1, y1, x2, y2);//在屏幕中间画一条线
_getch();//暂停,等待键盘输入
closegraph();//关闭画布窗口
return 0;
}
(2)设置线宽
#include<graphics.h>//调用图形库头文件
#include<conio.h>
int main()
{
int x1, y1, x2, y2,n;//定义线的两边端点坐标和代表线宽的参数
x1 = 200;//端点坐标赋值
y1 = 300;
x2 = 400;
y2 = 300;
n = 10;//设置线宽为10
initgraph(600, 600);//初始化一个600*600大小的画布窗口
setlinestyle(PS_SOLID, n);//设置线宽
line(x1, y1, x2, y2);//在屏幕中间画一条线
_getch();//暂停,等待键盘输入
closegraph();//关闭画布窗口
return 0;
}
(2)画一个方形
#include<graphics.h>//调用图形库头文件
#include<conio.h>
int main()
{
int x1, y1, x2, y2;//定义矩形的左上角和右下角顶点坐标
x1 = 200;//端点坐标赋值
y1 = 200;
x2 = 400;
y2 = 400;
initgraph(600, 600);//初始化一个600*600大小的画布窗口
rectangle(x1, y1, x2, y2);//在屏幕中间画一个正方形
_getch();//暂停,等待键盘输入
closegraph();//关闭画布窗口
return 0;
}
(3)画一个圆
#include<graphics.h>//调用图形库头文件
#include<conio.h>
int main()
{
int x, y, r;//定义圆心坐标和半径
x = 300;
y = 300;
r = 100;
initgraph(600, 600);//初始化一个600*600大小的画布窗口
circle(x, y, r);//在屏幕中间画一个圆形
_getch();//暂停,等待键盘输入
closegraph();//关闭画布窗口
return 0;
}
2、颜色填充。
#include<graphics.h>//调用图形库头文件
#include<conio.h>
int main()
{
int x, y, r;//定义圆心坐标和半径
x = 300;
y = 300;
r = 100;
initgraph(600, 600);//初始化一个600*600大小的画布窗口
fillcircle(x, y, r);//在屏幕中间画一个实心圆
_getch();//暂停,等待键盘输入
closegraph();//关闭画布窗口
return 0;
}
3、图形颜色设置
#include<graphics.h>//调用图形库头文件
#include<conio.h>
int main()
{
int cir_x, cir_y, r;//定义圆的变量
cir_x = 300;
cir_y = 400;
r = 100;
int rec_x1, rec_y1, rec_x2, rec_y2;//定义矩形变量
rec_x1 = 0;
rec_y1 = 400;
rec_x2 = 600;
rec_y2 = 600;
initgraph(600, 600);//初始化一个600*600大小的画布窗口
setbkcolor(WHITE);//设置背景颜色白色,此函数一定要放在创建画布的后面
cleardevice();//用背景颜色清空屏幕
setlinecolor(YELLOW);//设置圆的边框为黄色
setfillcolor(YELLOW);//设置圆的填充颜色为黄色
fillcircle(cir_x, cir_y, r+50);//绘制圆形
setlinecolor(RED);//设置圆的边框为黄色
setfillcolor(RED);//设置圆的填充颜色为黄色
fillcircle(cir_x, cir_y, r);//绘制圆形
setlinecolor(BLUE);//设置大海的边框为蓝色
setfillcolor(BLUE);//设置大海的填充颜色为蓝色
fillrectangle(rec_x1, rec_y1, rec_x2, rec_y2);//绘制大海
_getch();//暂停,等待键盘输入
closegraph();//关闭画布窗口
return 0;
}
4、图像动态设置——海上日出
#include<graphics.h>//调用图形库头文件
#include<conio.h>
int main()
{
int cir_x, cir_y, r1,r2;//定义圆的变量
cir_x = 300;
cir_y = 450;
r1 = 100;
r2 = r1 + 50;
int rec_x1, rec_y1, rec_x2, rec_y2;//定义矩形变量
rec_x1 = 0;
rec_y1 = 400;
rec_x2 = 600;
rec_y2 = 600;
int line_x1 = 280;//设置光线变量
int line_x2 = 320;
int stemp = 20;
int line_y = 410;
initgraph(600, 600);//初始化一个600*600大小的画布窗口
setbkcolor(WHITE);//设置背景颜色白色,此函数一定要放在创建画布的后面
cleardevice();//用背景颜色清空屏幕
setlinecolor(BLUE);//设置大海的边框为蓝色
setfillcolor(BLUE);//设置大海的填充颜色为蓝色
fillrectangle(rec_x1, rec_y1, rec_x2, rec_y2);//绘制大海
BeginBatchDraw();//开始批量绘制
while (cir_y > 200)
{
cir_y -= 10;
r1 += 3;
r2 += 20;//外光半径扩大
line_x1 -= stemp;
line_x2 += stemp;
line_y += 30;
setlinecolor(YELLOW);//设置圆的边框为黄色
setfillcolor(YELLOW);//设置圆的填充颜色为黄色
fillcircle(cir_x, cir_y, r2);//绘制圆形
setlinecolor(RED);//设置圆的边框为黄色
setfillcolor(RED);//设置圆的填充颜色为黄色
fillcircle(cir_x, cir_y, r1);//绘制圆形
setlinecolor(BLUE);//设置大海的边框为蓝色
setfillcolor(BLUE);//设置大海的填充颜色为蓝色
fillrectangle(rec_x1, rec_y1, rec_x2, rec_y2);//绘制大海
//每次太阳升高海面都有波光闪动,下面设置了一次闪动六条波光
setlinestyle(PS_SOLID, 10);//设置线宽
setlinecolor(YELLOW);//设置
line(line_x1 - 20, line_y - 50, line_x2 + 20, line_y - 50);
setlinestyle(PS_SOLID, 10);//设置线宽
setlinecolor(RED);//设置
line(line_x1, line_y, line_x2, line_y);
setlinestyle(PS_SOLID, 10);//设置线宽
setlinecolor(YELLOW);//设置
line(line_x1 - 20, line_y + 20, line_x2 + 20, line_y + 20);
setlinestyle(PS_SOLID, 10);//设置线宽
setlinecolor(RED);//设置
line(line_x1 - 20, line_y - 10, line_x2 + 20, line_y - 10);
setlinestyle(PS_SOLID, 10);//设置线宽
setlinecolor(RED);//设置
line(line_x1, line_y + 80, line_x2, line_y + 80);
setlinestyle(PS_SOLID, 10);//设置线宽
setlinecolor(YELLOW);//设置
line(line_x1 - 20, line_y + 60, line_x2 + 20, line_y + 60);
FlushBatchDraw();//进行批量绘制
Sleep(1000);
}
//最后呈现出波光
line_x1 = 280;
line_x2 = 320;
stemp = 20;
line_y = 430;
while (line_y < 600)
{
line_x1 -= stemp;
line_x2 += stemp;
line_y += 10;
setlinestyle(PS_SOLID, 50);//设置线宽
setlinecolor(RED);//设置光线颜色
line(line_x1, line_y, line_x2, line_y);
Sleep(50);
FlushBatchDraw();
}
_getch();//暂停,等待键盘输入
closegraph();//关闭画布窗口
return 0;
}