해시를 통해 문자열을 RGB색상으로 매핑시키는 코드이다.
태깅툴을 만들시 해당 레이블에 대해 고유의 색상 박스를 생성하기 위해 사용함.
#include<iostream>
#include<map>
#include<unordered_map>
int main() {
std::string dir = "CAT";
std::hash<std::string> hasher;
int hash = (int)hasher(dir);
int r = (hash & 0xFF0000) >> 16;
int g = (hash & 0x00FF00) >> 8;
int b = hash & 0x0000FF;
std::cout << r << "," << g << "," << b << std::endl;
return 0;
}
def rgbhash(idx: int):
texts = [str(idx) + e for e in "RGB"]
rgb = []
for text in texts:
hash = 0
for ch in text:
hash = (hash * 281 ^ ord(ch) * 997) & 0xFFFFFFFF
rgb.append(hash % 256)
return tuple(rgb)