Пример #1
0
def snap_to_grid(src, ref):

    src = colour.palette(src)
    ref = colour.palette(ref)

    utils = colour.utils(ref)

    results = {}

    for hex, details in src.colours.items():

        closest = utils.closest_colour(hex)
        results[hex] = closest

    return results
Пример #2
0
def draw(palette, image):

    palette = colour.palette(palette)
    utils = colour.utils(palette)

    results = {}

    im = Image.open(image)

    for y in range(im.size[1]):
        for x in range(im.size[0]):

            old = im.getpixel((x, y))

            hex = webcolors.rgb_to_hex(old)
            closest = utils.closest_colour(hex)

            new = webcolors.hex_to_rgb(closest[0])
            im.putpixel((x, y), new)

    return im
Пример #3
0
    x = 0
    y = height / 2.0

    for hex in colours:

        rgb = webcolors.hex_to_rgb(hex)

        canvas.line((x, y, x + dx, y), width=height, fill=rgb)
        canvas.text((x + 10, 10), hex, fill=(255,255,255))

        x += dx

    return im

if __name__ == '__main__':

    import sys

    palette = sys.argv[1]
    palette = colour.palette(palette)

    colours = palette.sort_colours()

    im = make_rainbow(colours, 1024, 400)

    if len(sys.argv) == 3:
        im.save(sys.argv[2])
    else:
        im.show()

Пример #4
0
#!/usr/bin/env python

import colour
import sys

first = sys.argv[1]
rest = sys.argv[2:]

p1 = colour.palette(first)
p2 = None

for next in rest:

    p2 = colour.palette(next)
    p1.merge(p2)

p1.dump()