彩虹

彩虹

该程序是 EasyX 帮助中带的范例程序。略作修改

执行效果如下:
彩虹

完整源代码如下:

// 程序名称:彩虹
// 编译环境:Visual Studio 2013,EasyX 2017-9-19
// 最后更新:2018-12-8
//
#include <graphics.h>
#include <conio.h>

void main()
{
	float H, S, L;

	initgraph(640, 480);

	// 画渐变的天空(通过亮度逐渐增加)
	H = 190;	// 色相
	S = 1;		// 饱和度
	L = 0.7f;	// 亮度
	for(int y = 0; y < 480; y++)		//绘制渐变色背景
	{
		L += 0.0005f;
		setcolor( HSLtoRGB(H, S, L) );
		line(0, y, 639, y);
	}

	// 画彩虹(通过色相逐渐增加)
	H = 0;
	S = 1;
	L = 0.5f;
	setlinestyle(PS_SOLID, NULL, 2);	// 设置线宽为 2
	for(int r = 400; r > 344; r--)
	{
		H += 5;
		setcolor( HSLtoRGB(H, S, L) );
		circle(500, 480, r);
	}

	_getch();
	closegraph();
}