#coding=utf-8 """ @author=wanggang 归一化颜色 """ def color(value): digit = list(map(str, range(10))) + list("ABCDEF") if isinstance(value, tuple): string = '#' for i in value: a1 = i // 16 a2 = i % 16 string += digit[a1] + digit[a2] return string elif isinstance(value, str): a1 = digit.index(value[1]) * 16 + digit.index(value[2]) a2 = digit.index(value[3]) * 16 + digit.index(value[4]) a3 = digit.index(value[5]) * 16 + digit.index(value[6]) return (a1, a2, a3) def toStr(num, base): convertString = "0123456789ABCDEF" # 最大转换为16进制 num=int(num) base=int(base) if int(num) < int(base): return convertString[num] else: return toStr(num // base, base) + convertString[num % base] def Normalization(x): return [(float(i) - min(x)) / float(max(x) - min(x)) for i in x] import numpy as np f=open('colorrate','r') list=[] for i in f.readlines(): i=i.strip('\n') list.append(i) arr=",".join(list) #a=3.1 #print(int(round(a,0))) #print(arr) arr1=(0,6.666666667,12.90322581,13.79310345,14.03508772,15.38461538,15.78947368,16.66666667,18.75,19.04761905,19.07514451,19.61852861,19.6969697,20,20.19230769,20.23809524,20.68965517,20.77922078,21.42857143,21.55172414,21.73913043,22.1719457,22.85714286,23.06425041,23.07692308,23.42158859,23.59550562,23.62204724,23.72881356,23.84341637,24,24.05063291,24.24242424,24.32432432,24.69135802,25,25.31437944,25.5361596,25.6302521,26.26262626,26.58326818,26.77165354,26.77165354,26.82926829,26.88910697,26.89313517,26.90513219,27.35042735,27.84090909,27.96610169,28.20512821,28.44036697,29.03225806,29.09090909,29.62962963,30,30.3030303,30.35714286,30.43478261,30.64516129,31.20567376,31.36094675,31.49038462,31.49038462,31.57894737,31.64556962,31.81818182,31.94444444,32.65306122,32.95454545,33.33333333,33.33333333,34.34343434,35.13513514,35.71428571,36.36363636,36.36363636,38.46153846,42.10526316,44.30379747,47.05882353,55.55555556) list2=Normalization(arr1) for k in list2: #print(toStr((int(round(255-k*255,0))),16),toStr((int(round(0*255,0))),16),00) R=toStr((int(round(255-k*255,0))),16) G=toStr((int(round(k*255,0))),16) B='00' str='#' print(str+R+G+B) #print('\n')
颜色归一化
最新推荐文章于 2024-01-06 17:51:10 发布