Ermitteln Sie den RGB-Wert der Farbe aus dem Bild

Hintergrund

Für Entwickler wie mich, die nicht über die Unterstützung professioneller Künstler verfügen, ist es notwendig, Referenzbilder aus dem Internet zu finden, sodass wir oft auf ein Problem stoßen: Wie lautet der Farbcode jedes Teils dieses Bildes? Hier sind einige meiner Erfahrungen als Referenz.

planen

Fügen Sie hier eine Bildbeschreibung ein

Genau wie das Bild von csnd möchte ich die Farbcodes dieser englischen Buchstaben wissen, dann kopieren oder schneiden wir einen Teil dieses Bildes in unsere Zwischenablage.

1. Die Desktop-System-Taskleiste über Win10 verfügt über diese Suchschaltfläche. Klicken Sie darauf und suchen Sie nach „Zeichnen“ (das ist die Zeichensoftware, die mit unserem Computer geliefert wird).

Fügen Sie hier eine Bildbeschreibung ein
Fügen Sie hier eine Bildbeschreibung ein

2. Rufen Sie die Zeichensoftware auf

Fügen Sie hier eine Bildbeschreibung ein

3. Kopieren Sie zu diesem Zeitpunkt unser Bild hinein

Fügen Sie hier eine Bildbeschreibung ein

4. Klicken Sie in der Zeichensoftware auf die Schaltfläche „Farbauswahl“ und dann auf die Stelle, an der Sie den Farbcode erhalten möchten

Fügen Sie hier eine Bildbeschreibung ein

5. Nach dem Klicken ist die Farbe der Schaltfläche „Farbe 1“ die Farbe, die Sie erhalten möchten

Fügen Sie hier eine Bildbeschreibung ein

6. Klicken Sie auf die Schaltfläche „Farbe bearbeiten“, um den RGB-Wert zu erhalten

Fügen Sie hier eine Bildbeschreibung ein

7. Konvertieren Sie es in den gewünschten Farbcode

Da ich in C# programmiere, kann ich die Farbkonstruktionsmethode verwenden, um die Farbe aus dem RGB-Wert zu erhalten, aber einige Schüler benötigen möglicherweise Hexadezimalcodes. Hier habe ich ein C++-Konvertierungsprogramm als Referenz geschrieben.

#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;
} 

Guess you like

Origin blog.csdn.net/qq_36694133/article/details/118379887