调色板的色彩编码

建议丁丁猫童鞋们收藏便于配色需要的色彩编码! 继续上节课内容的九宫格,导入random模块实现16进制,8位数的随机生成! python代码实现 上节文章介绍了九宫格的写法: 色彩的探索之二:色彩和设计背后的科学
好奇心驱动人们对色彩的认知走了多远

image

['#B2B70A', '#6678F6', '#EFB5AB', '#11182B', '#F76ADB', '#EA7F64', '#6EB1EC', '#0D942D', '#226F46']

image

['#82943C', '#46FE86', '#4A6157', '#1B125F', '#0354A7', '#C0C95C', '#87C3DE', '#07C890', '#66A5BB']

image

['#3E5917', '#A73F0F', '#8B2405', '#37A4F8', '#29E01B', '#4EE0B0', '#DE791E', '#AF56AB', '#BC92D2']

image

['#5AE520', '#0C5D24', '#CAB3E8', '#97D282', '#53D20C', '#BAEF01', '#CFF155', '#DAF4E0', '#5CD165']

—— 伪随机的表现?

image

['#2467DA', '#1467F5', '#7E35DE', '#B14307', '#99A588', '#0B9DF1', '#B50175', '#BC08F7', '#402882']

image

['#F8230C', '#2DED54', '#391495', '#FE5DD3', '#D8F6D6', '#C37E4C', '#195FE8', '#936040', '#EF1909']

image

['#B624DD', '#4B3866', '#99B605', '#284EAC', '#0E1EBA', '#8712DB', '#1C9C6E', '#E1D942', '#32C675']

image

['#4A01A0', '#B66AAA', '#37B0B4', '#814208', '#72C47D', '#B0F71C', '#C478E5', '#BB38F4', '#FF0AB1']

image

['#6C7B3C', '#0418F8', '#935C19', '#7131B9', '#4150F3', '#3E8EB3', '#682C0D', '#684DA7', '#53616A']

image

['#AE6E4B', '#33E1A6', '#7D63B7', '#E20DD5', '#D3B911', '#D565C1', '#2564B0', '#534E6B', '#73997C']

image

['#59CFD0', '#743460', '#AC570A', '#2A8595', '#EC4B8C', '#3540EB', '#8AD183', '#E87BB7', '#D90367']

image

['#DA5034', '#DFDB39', '#C1F3D4', '#657927', '#2E431C', '#BFE7F2', '#83F9C3', '#130E80', '#0752B1']

image

['#6DC2CE', '#E4D134', '#4C35EF', '#A73088', '#B9C1B6', '#986109', '#6CCA35', '#8D0F23', '#47C07E']

image

['#EE2C55', '#208177', '#ED82F6', '#444578', '#A6DDC5', '#F17869', '#2EF2E0', '#15F57B', '#7EAC80']

image

['#F97693', '#C5564C', '#F17F38', '#713F91', '#91958C', '#2DEEF0', '#11CA40', '#B19080', '#A568A0']

image

['#D7EB80', '#B0C2EA', '#3E9D73', '#C6ABFE', '#B5D52A', '#747B13', '#C904FA', '#7C746A', '#1620E6']

image

['#53EDED', '#B09D62', '#9AD5F6', '#FE2BBD', '#BDE209', '#E374E2', '#D403AB', '#7C41B6', '#8A985A']

常见颜色的英文表达,更加精准且丰富的色彩表达则借助16进制的8位数表达

Turtle和matplotlib的色彩编码一致


b: blue
g: green
r: red
c: cyan
m: magenta
y: yellow
k: black
w: white`</pre>
scatter(X,Y, color='red')
scatter(X,Y, color='orange')
scatter(X,Y, color='darkgreen')

**1 随机选取9种颜色并且实现九宫格调色板

import random

def bit_16(n):
    ans = []
    for i in range(n):
        c = '#'+"".join([random.choice("0123456789ABCDEF") for i in range(6)])
        ans.append(c)
    return ans

def square(l,c): #
    t.color(c)
    t.begin_fill()
    for i in range(5):
        t.forward(l)
        t.right(90)
    t.end_fill()
    return       #t.done()

def main_square(n,l,x,y):
    t.penup()
    t.goto(x,y)
    t.pendown()

    colors = bit_16(n)
    print(colors)
    for i,c in enumerate(colors):
        t.penup()
        t.goto(x + (i % 3)*l, y-(i//3)*l) 
        #算法怎么实现9个正方形的起笔位置准确入位?
        t.pendown()
        t.left(90)
        square(l, c)

    return t.done()
n,l = 9,100
x,y = -200,100
print(main_square(n,l,x,y))

输出效果见前文!

** 2 turtle 代码实现140种颜色满铺色板**


colors = {'aliceblue': '#F0F8FF',
'antiquewhite':         '#FAEBD7',
'aqua':                 '#00FFFF',
'aquamarine':           '#7FFFD4',
'azure':                '#F0FFFF',
'beige':                '#F5F5DC',
'bisque':               '#FFE4C4',
'black':                '#000000',
'blanchedalmond':       '#FFEBCD',
'blue':                 '#0000FF',
'blueviolet':           '#8A2BE2',
'brown':                '#A52A2A',
'burlywood':            '#DEB887',
'cadetblue':            '#5F9EA0',
'chartreuse':           '#7FFF00',
'chocolate':            '#D2691E',
'coral':                '#FF7F50',
'cornflowerblue':       '#6495ED',
'cornsilk':             '#FFF8DC',
'crimson':              '#DC143C',
'cyan':                 '#00FFFF',
'darkblue':             '#00008B',
'darkcyan':             '#008B8B',
'darkgoldenrod':        '#B8860B',
'darkgray':             '#A9A9A9',
'darkgreen':            '#006400',
'darkkhaki':            '#BDB76B',
'darkmagenta':          '#8B008B',
'darkolivegreen':       '#556B2F',
'darkorange':           '#FF8C00',
'darkorchid':           '#9932CC',
'darkred':              '#8B0000',
'darksalmon':           '#E9967A',
'darkseagreen':         '#8FBC8F',
'darkslateblue':        '#483D8B',
'darkslategray':        '#2F4F4F',
'darkturquoise':        '#00CED1',
'darkviolet':           '#9400D3',
'deeppink':             '#FF1493',
'deepskyblue':          '#00BFFF',
'dimgray':              '#696969',
'dodgerblue':           '#1E90FF',
'firebrick':            '#B22222',
'floralwhite':          '#FFFAF0',
'forestgreen':          '#228B22',
'fuchsia':              '#FF00FF',
'gainsboro':            '#DCDCDC',
'ghostwhite':           '#F8F8FF',
'gold':                 '#FFD700',
'goldenrod':            '#DAA520',
'gray':                 '#808080',
'green':                '#008000',
'greenyellow':          '#ADFF2F',
'honeydew':             '#F0FFF0',
'hotpink':              '#FF69B4',
'indianred':            '#CD5C5C',
'indigo':               '#4B0082',
'ivory':                '#FFFFF0',
'khaki':                '#F0E68C',
'lavender':             '#E6E6FA',
'lavenderblush':        '#FFF0F5',
'lawngreen':            '#7CFC00',
'lemonchiffon':         '#FFFACD',
'lightblue':            '#ADD8E6',
'lightcoral':           '#F08080',
'lightcyan':            '#E0FFFF',
'lightgoldenrodyellow': '#FAFAD2',
'lightgreen':           '#90EE90',
'lightgray':            '#D3D3D3',
'lightpink':            '#FFB6C1',
'lightsalmon':          '#FFA07A',
'lightseagreen':        '#20B2AA',
'lightskyblue':         '#87CEFA',
'lightslategray':       '#778899',
'lightsteelblue':       '#B0C4DE',
'lightyellow':          '#FFFFE0',
'lime':                 '#00FF00',
'limegreen':            '#32CD32',
'linen':                '#FAF0E6',
'magenta':              '#FF00FF',
'maroon':               '#800000',
'mediumaquamarine':     '#66CDAA',
'mediumblue':           '#0000CD',
'mediumorchid':         '#BA55D3',
'mediumpurple':         '#9370DB',
'mediumseagreen':       '#3CB371',
'mediumslateblue':      '#7B68EE',
'mediumspringgreen':    '#00FA9A',
'mediumturquoise':      '#48D1CC',
'mediumvioletred':      '#C71585',
'midnightblue':         '#191970',
'mintcream':            '#F5FFFA',
'mistyrose':            '#FFE4E1',
'moccasin':             '#FFE4B5',
'navajowhite':          '#FFDEAD',
'navy':                 '#000080',
'oldlace':              '#FDF5E6',
'olive':                '#808000',
'olivedrab':            '#6B8E23',
'orange':               '#FFA500',
'orangered':            '#FF4500',
'orchid':               '#DA70D6',
'palegoldenrod':        '#EEE8AA',
'palegreen':            '#98FB98',
'paleturquoise':        '#AFEEEE',
'palevioletred':        '#DB7093',
'papayawhip':           '#FFEFD5',
'peachpuff':            '#FFDAB9',
'peru':                 '#CD853F',
'pink':                 '#FFC0CB',
'plum':                 '#DDA0DD',
'powderblue':           '#B0E0E6',
'purple':               '#800080',
'red':                  '#FF0000',
'rosybrown':            '#BC8F8F',
'royalblue':            '#4169E1',
'saddlebrown':          '#8B4513',
'salmon':               '#FA8072',
'sandybrown':           '#FAA460',
'seagreen':             '#2E8B57',
'seashell':             '#FFF5EE',
'sienna':               '#A0522D',
'silver':               '#C0C0C0',
'skyblue':              '#87CEEB',
'slateblue':            '#6A5ACD',
'slategray':            '#708090',
'snow':                 '#FFFAFA',
'springgreen':          '#00FF7F',
'steelblue':            '#4682B4',
'tan':                  '#D2B48C',
'teal':                 '#008080',
'thistle':              '#D8BFD8',
'tomato':               '#FF6347',
'turquoise':            '#40E0D0',
'violet':               '#EE82EE',
'wheat':                '#F5DEB3',
'white':                '#FFFFFF',
'whitesmoke':           '#F5F5F5',

'yellow':               '#FFFF00',
'yellowgreen':          '#9ACD32'}

print(len(colors)) # == 140
x = len(colors)

import turtle as t
import math
#colors =['#e2d8e2', '#a8996c', '#2d281f',
#    '#9facb1', '#e9daa9', '#684a24',
#    '#5c6051', '#bb783b',  '#86b086']

def square(l,c): #
    t.color(c)
    t.begin_fill()
    for i in range(5):
        t.forward(l)
        t.right(90)
    t.end_fill()
    return #t.done()
l,c = 100,'#e9daa9'
#print(square(l,c))

def main_square(n,l,x,y):
    t.penup()
    t.goto(x,y)
    t.pendown()
    t.speed(1000)
    for i,c in enumerate(colors):

        t.penup()
        t.goto(x + (i % (n+3))*l, y-(i//(n+3))*l) #算法怎么实现9个正方形的起笔位置准确入位?
        t.pendown()
        t.left(90)
        square(l, c)

    return t.done()
n,l = int(math.sqrt(x)),600//int(math.sqrt(x))
x,y = -380,260
print(main_square(n,l,x,y))
image

3 matplotlib 色彩编码与turtle相同- 代码实现


import matplotlib.pyplot as plt
from matplotlib import colors as mcolors
'''

b: blue
g: green
r: red
c: cyan
m: magenta
y: yellow
k: black
w: white
scatter(X,Y, color='red')
scatter(X,Y, color='orange')
scatter(X,Y, color='darkgreen')


'''


colors = dict(mcolors.BASE_COLORS, **mcolors.CSS4_COLORS)

# Sort colors by hue, saturation, value and name.
by_hsv = sorted((tuple(mcolors.rgb_to_hsv(mcolors.to_rgba(color)[:3])), name)
                for name, color in colors.items())
sorted_names = [name for hsv, name in by_hsv]

n = len(sorted_names)
ncols = 4
nrows = n // ncols

fig, ax = plt.subplots(figsize=(12, 10))

# Get height and width
X, Y = fig.get_dpi() * fig.get_size_inches()
h = Y / (nrows + 1)
w = X / ncols

for i, name in enumerate(sorted_names):
    row = i % nrows
    col = i // nrows
    y = Y - (row * h) - h

    xi_line = w * (col + 0.05)
    xf_line = w * (col + 0.25)
    xi_text = w * (col + 0.3)

    ax.text(xi_text, y, name, fontsize=(h * 0.8),
            horizontalalignment='left',
            verticalalignment='center')

    ax.hlines(y + h * 0.1, xi_line, xf_line,
              color=colors[name], linewidth=(h * 0.8))

ax.set_xlim(0, X)
ax.set_ylim(0, Y)
ax.set_axis_off()

fig.subplots_adjust(left=0, right=1,
                    top=1, bottom=0,
                    hspace=0, wspace=0)
plt.show()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容