Add oregon tartan, mute colors a bit
This commit is contained in:
parent
f3f965b60b
commit
fdea32da36
|
@ -47,4 +47,4 @@ actions TartanToPng {
|
|||
}
|
||||
|
||||
Webify index.mdwn ;
|
||||
Tartan albuquerque armstrong az blackwatch buchanan co nm nmloe nv ok pjs pjs2 shrek tx ut wa ;
|
||||
Tartan albuquerque armstrong az blackwatch buchanan co nm nmloe nv ok pjs pjs2 shrek tx ut wa or ;
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# coding: utf-8
|
||||
|
||||
import re
|
||||
import random
|
||||
|
||||
class Yarn:
|
||||
"""A spool of yarn.
|
||||
|
@ -10,15 +11,32 @@ class Yarn:
|
|||
saturation values ranging from 0.0 (no saturation) to
|
||||
1.0 (full saturation).
|
||||
|
||||
Since we're pretending to be actual dyes here, we can fuzz it out a
|
||||
bit by not doing full screen saturation and adding a little bit of
|
||||
randomness to the color when queried.
|
||||
|
||||
"""
|
||||
|
||||
maxval = 190
|
||||
fuzz = 0
|
||||
|
||||
def __init__(self, r, g, b):
|
||||
self.rgb = (r, g, b)
|
||||
self.color = (int(r * 256), int(g * 256), int(b * 256))
|
||||
self.intrgb = [int(c * self.maxval) for c in self.rgb]
|
||||
|
||||
intfuzz = int(self.fuzz * self.maxval)
|
||||
self.limits = [(max(0, c - intfuzz), min(self.maxval, c + intfuzz))
|
||||
for c in self.intrgb]
|
||||
|
||||
def __repr__(self):
|
||||
return '<Yarn %r>' % (self.rgb)
|
||||
|
||||
def get_color(self):
|
||||
if self.fuzz:
|
||||
color = [random.randrange(l, h) for (l, h) in self.limits]
|
||||
return color
|
||||
else:
|
||||
return self.intrgb
|
||||
|
||||
|
||||
class Loom:
|
||||
|
@ -64,7 +82,7 @@ class PNGLoom(Loom):
|
|||
row = []
|
||||
for c in fr:
|
||||
for i in range(scale):
|
||||
row.extend(c.color)
|
||||
row.extend(c.get_color())
|
||||
for i in range(scale):
|
||||
imgstr.fromlist(row)
|
||||
x = len(fr * scale)
|
||||
|
@ -117,38 +135,24 @@ def ascii_test():
|
|||
#
|
||||
# Colors according to http://www.tartanregister.gov.uk/guidance.aspx
|
||||
#
|
||||
colors = [('A', '\x00\x44\x99'), # Azure (light blue)
|
||||
('B', '\x00\x00\x44'), # Blue
|
||||
('C', '\xdc\x14\x3c'), # Crimson
|
||||
('G', '\x00\x44\x00'), # Green
|
||||
('K', '\x00\x00\x00'), # Black
|
||||
('Mn', '\x80\x00\x00'), # Maroon
|
||||
('N', '\x44\x44\x44'), # Neutral (gray)
|
||||
('P', '\x99\x00\x99'), # Purple
|
||||
('R', '\x99\x00\x00'), # Red (scarlet)
|
||||
('T', '\x66\x66\x00'), # Tan (brown)
|
||||
('W', '\x99\x99\x99'), # White
|
||||
('Y', '\x99\x99\x00'), # Yellow
|
||||
]
|
||||
if True:
|
||||
colors = {'R': Yarn(0.50, 0.00, 0.00), # Red
|
||||
'G': Yarn(0.00, 0.30, 0.00), # Green
|
||||
'G': Yarn(0.00, 0.40, 0.00), # Green
|
||||
'B': Yarn(0.00, 0.00, 0.50), # Blue
|
||||
'C': Yarn(0.00, 0.25, 0.25), # Cyan
|
||||
'C': Yarn(0.00, 0.50, 0.50), # Cyan
|
||||
'Y': Yarn(0.80, 0.80, 0.00), # Yellow
|
||||
'P': Yarn(0.60, 0.00, 0.60), # Purple (?!)
|
||||
'W': Yarn(0.60, 0.60, 0.60), # White
|
||||
'P': Yarn(0.60, 0.00, 0.60), # Purple
|
||||
'W': Yarn(0.90, 0.90, 0.90), # White
|
||||
'K': Yarn(0.00, 0.00, 0.00), # Black
|
||||
'BK': Yarn(0.00, 0.00, 0.00), # Black
|
||||
'GR': Yarn(0.25, 0.25, 0.25), # Gray
|
||||
'GR': Yarn(0.50, 0.50, 0.50), # Gray
|
||||
'DB': Yarn(0.00, 0.00, 0.30), # Dark Blue
|
||||
'LB': Yarn(0.00, 0.25, 0.60), # Light Blue
|
||||
'LR': Yarn(0.60, 0.00, 0.00), # Light Red
|
||||
'LB': Yarn(0.00, 0.40, 0.90), # Light Blue
|
||||
'LR': Yarn(0.80, 0.00, 0.00), # Light Red
|
||||
'LG': Yarn(0.00, 0.60, 0.00), # Light Green
|
||||
'LV': Yarn(0.50, 0.25, 0.60), # Lavender
|
||||
'BR': Yarn(0.30, 0.25, 0.00), # Brown
|
||||
'BR': Yarn(0.60, 0.40, 0.20), # Brown
|
||||
'LGR': Yarn(0.60, 0.60, 0.60), # Light Gray
|
||||
'LBR': Yarn(0.40, 0.40, 0.00), # Light Brown
|
||||
'LBR': Yarn(0.80, 0.70, 0.50), # Light Brown
|
||||
}
|
||||
sett_re = re.compile('([A-Za-z]{1,3}|\([A-Fa-f0-9]{3}\))(\d{1,3})')
|
||||
|
||||
|
@ -177,6 +181,8 @@ def str_to_sett(s):
|
|||
o = sett[:]
|
||||
o.reverse()
|
||||
sett += o
|
||||
if len(sett) % 4:
|
||||
sett += sett
|
||||
return sett
|
||||
|
||||
def tartan(sett):
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
Name: Oregon
|
||||
Sett: Y6 LV10 G4 LV4 G4 W2 G8 LBR24 R4 LB2 K2
|
||||
|
||||
I had to reverse-engineer this from the UK tartan registry. If you
|
||||
create an account with them, and request a sett, they'll email up to 5
|
||||
per day to you. I don't understand why a state's official tartan should
|
||||
be so difficult to obtain: it seems like it ought to belong to the
|
||||
people of that state and be easily accessed by them.
|
||||
|
||||
Well, here you go, people of Oregon.
|
||||
|
|
@ -6,6 +6,8 @@ Title: TARTAN Tartan
|
|||
clear: both;">
|
||||
</div>
|
||||
|
||||
<p><a href="IMAGE">This image</a></p>
|
||||
|
||||
divert(1)
|
||||
|
||||
I place this image in the public domain, in the hope that it will
|
||||
|
|
Loading…
Reference in New Issue