从图片上获取颜色的RGB值

背景

对于我这种没有专业美工人员支持的开发者来说,从网上寻找参考图是必须的,这样往往就会遇到一个问题:这个图片各个部分的颜色代码是多少?这里介绍一些我得经验供大家参考。

方案

在这里插入图片描述

就比如csnd的图片,我想知道这几个英文字母的颜色代码是多少,那么我们把这个图片复制或者剪切一部分到我们的剪切板中。

1、win10以上的桌面系统任务栏都有这个搜索的按钮,点开它,搜索"画图"(它是我们电脑自带的绘图软件)

在这里插入图片描述
在这里插入图片描述

2、进入绘图软件

在这里插入图片描述

3、此时将我们的图片复制进去

在这里插入图片描述

4、点击绘图软件上的颜色选取器按钮,然后点击你想要获取颜色代码的位置

在这里插入图片描述

5、点击完毕后颜色1按钮的颜色就是你想要获取的颜色

在这里插入图片描述

6、点击编辑颜色按钮,就获取其rgb值

在这里插入图片描述

7、转换成我们想要的颜色代码

由于我是用C#编程,可以使用Color的构造方法从rgb数值获取该颜色,但是可能有的同学需要十六进制的代码,这里我编写了一个C++转换程序,以供参考吧。

#include<iostream>
using namespace std;

const char numberSet[]="0123456789ABCDEF";

void exchange(int colorNumber){
    
    
	int high=colorNumber/16;
	int low=colorNumber%16;
	cout<<numberSet[high]<<numberSet[low];
}

int right(int colorNumber){
    
    
	if(colorNumber>=0&&colorNumber<=255){
    
    
		return 1;
	}
	return 0;
}

int main(){
    
    
	
	int red;
	int green;
	int blue;
	
	cout<<"请依次输入红,绿,蓝的数值代号:";
	
	cin>>red>>green>>blue;
	
	cout<<"#";
	
	if(right(red)){
    
    
		exchange(red);
	}else{
    
    
		cout<<"红有误";
		return 0;
	}
	
	if(right(green)){
    
    
		exchange(green);
	}else{
    
    
		cout<<"绿有误";
		return 0;
	}
	
	if(right(blue)){
    
    
		exchange(blue);
	}else{
    
    
		cout<<"蓝有误";
		return 0;
	}
	
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/qq_36694133/article/details/118379887
今日推荐