Rainbow

The program is HSL color model application example, the program by adjusting the brightness of HSL model to draw the gradient of the sky, and adjusting the hue to draw seven colors of the rainbow.

// Compiler Env: Visual C++ 6.0~2022,EasyX_2023大暑版
// https://easyx.cn
//
#include <graphics.h>
#include <conio.h>

int main()
{
	// Create a graphics window
	initgraph(640, 480);

	// Draw a gradual sky (gradual increase through brightness)
	float H = 190;		// Hue
	float S = 1;		// Saturation
	float L = 0.7f;		// Lightness
	for(int y = 0; y < 480; y++)
	{
		L += 0.0005f;
		setlinecolor( HSLtoRGB(H, S, L) );
		line(0, y, 639, y);
	}

	// Draw a rainbow (gradually increase through the hue)
	H = 0;
	S = 1;
	L = 0.5f;
	setlinestyle(PS_SOLID, 2);		// Set the line width to 2
	for(int r = 400; r > 344; r--)
	{
		H += 5;
		setlinecolor( HSLtoRGB(H, S, L) );
		circle(500, 480, r);
	}

	// Press any key to exit
	_getch();
	closegraph();
	return 0;
}

For more examples, please refer to https://codebus.cn

(贡献者:Krissi  编辑