C语言图形颜色编程|颜色
1、颜色
法一:定义改变文字的颜色
int color(int num) //num为每一种颜色所代表的数字,范围是0~15 { //SetConsoleTextAttribute是设置控制台窗口字体颜色和背景色的函数 //GetStdHandle是获得输入、输出或错误的屏幕缓冲区的句柄 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),num); return 0; }
测试:
#include <stdio.h> #include <windows.h> int color(int num) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),num); return 0; } int main() { int i; for(i=0;i<16;i++) { color(i); printf(" WELCOME "); } return 0; }
法二:system自带改变颜色 有一弊端是不能局部改变,只能全部改变
测试:
#include <stdio.h> #include <stdlib.h> #include <windows.h> int main() { system("color 01"); printf(" WELCOME "); Sleep(100); system("color 02"); printf(" WELCOME "); Sleep(100); system("color 03"); printf(" WELCOME "); Sleep(100); system("color 04"); printf(" WELCOME "); Sleep(100); system("color 05"); printf(" WELCOME "); Sleep(100); system("color 06"); printf(" WELCOME "); Sleep(100); system("color 07"); printf(" WELCOME "); Sleep(100); system("color 08"); printf(" WELCOME "); Sleep(100); system("color 09"); printf(" WELCOME "); Sleep(100); system("color A"); printf(" WELCOME "); Sleep(100); system("color B"); printf(" WELCOME "); Sleep(100); system("color C"); printf(" WELCOME "); Sleep(100); system("color D"); printf(" WELCOME "); Sleep(100); system("color E"); printf(" WELCOME "); Sleep(100); system("color F"); printf(" WELCOME "); Sleep(100); return 0; }
法三:定义局部文字颜色和背景色
void setcolor(n) { //颜色号为0-15 //文字颜色为n%15 //背景色为n/16 HANDLE hCon; hCon = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hCon,n); }
这个方法其实跟法一是一样的,我本来是想设置局部的背景色,看来失败了
经过查资料:其实SetConsoleTextAtrribute()函数就是有设置背景色的参数的
//直接使用颜色函数 printf("红色字体 前景加强 绿色背景 背景加强 "); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED | FOREGROUND_INTENSITY | BACKGROUND_GREEN | BACKGROUND_INTENSITY);
参数: 大家可以多试试,效果还是不错的,注意颜色搭配鸭