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("\t\tWELCOME\n");
 }
 return 0;
}

法二:system自带改变颜色
在这里插入图片描述
有一弊端是不能局部改变,只能全部改变

测试:
在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
	 system("color 01");
 	 printf("\t\tWELCOME\n");
 	 Sleep(100);
 	
	 system("color 02");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	
	 system("color 03");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color 04");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color 05");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color 06");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	system("color 07");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color 08");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color 09");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	
	 system("color A");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color B");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color C");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	  
	 system("color D");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color E");
	 printf("\t\tWELCOME\n");
	 Sleep(100);
	 
	 system("color F");
	 printf("\t\tWELCOME\n");
	 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("红色字体 前景加强 绿色背景 背景加强\n"); 
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED |
FOREGROUND_INTENSITY | BACKGROUND_GREEN | BACKGROUND_INTENSITY); 

参数:
在这里插入图片描述
在这里插入图片描述
大家可以多试试,效果还是不错的,注意颜色搭配鸭

在C语言中,颜色识别通常涉及到图像处理,这通常需要使用到一些库,比如OpenCV(开源计算机视觉库)或者PIL(Python Imaging Library)。C语言本身并不直接支持颜色识别,但可以结合这些库进行开发。 以下是一个简单的例子,说明如何使用OpenCV在C语言环境中识别图像中的颜色: ```c #include <opencv2/opencv.h> #include <iostream> int main(int argc, char** argv) { // 加载图片 cv::Mat img = cv::imread("test_image.jpg", CV_LOAD_IMAGE_COLOR); if (img.empty()) { std::cout << "Could not open or find the image" << std::endl; return -1; } // 将BGR颜色空间转换为HSV颜色空间,便于颜色识别 cv::cvtColor(img, img, cv::COLOR_BGR2HSV); // 定义颜色范围,例如红色 cv::Scalar lower_red(0, 50, 50); cv::Scalar upper_red(10, 255, 255); // 创建一个掩码,只保留红色区域 cv::inRange(img, lower_red, upper_red, img); // 显示结果 cv::imshow("Red in Image", img); cv::waitKey(0); return 0; } ``` 在这个例子中,我们首先加载图像,然后将其从BGR颜色空间转换为HSV颜色空间,因为HSV颜色空间更有利于颜色的分离。接着定义红色的HSV范围,创建一个掩码并应用到原始图像上,只保留红色区域。最后显示处理后的图像。 然而,这只是一个非常基础的颜色识别示例,实际的颜色识别可能需要更复杂的阈值设置、颜色空间转换和机器学习算法,如Haar特征或卷积神经网络(CNN)。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值