Skip to content

Instantly share code, notes, and snippets.

@kevinhowbrook
Last active June 2, 2018 14:01
Show Gist options
  • Save kevinhowbrook/4d9884ea796b61282712859a42f7eb4b to your computer and use it in GitHub Desktop.
Save kevinhowbrook/4d9884ea796b61282712859a42f7eb4b to your computer and use it in GitHub Desktop.
An example of building up RGB values #onmedium
for i,letter in enumerate(letters):
# Only three numbers needed for RGB so use the first three values as a base
# eg: [10, 4, 21]
n = 255.0 / 26.0 # make sure we don't get a value above 255. (z = 26. 25 *10 = 260 but 26 * 9.8 = 248
if i < 3:
# add the first three values to a new list (number)
letterPosition = alphabet.index(letter) * n # *n here to force a good large number base
number.append(letterPosition)
# Use the remaining values to fine tune the first three we have so it will be a better variant
elif i >= 3 and i < 6:
letterPosition = alphabet.index(letter) * n / 26 # /26 here to get a smaller number to add (we don't want (20*10 + 20*10))
number.append(letterPosition)
# For words above six letter, add a further division so we can keep adding values and never reach above 255,
elif i >= 6:
letterPosition = alphabet.index(letter) * n / 26 / 26 # /26/26 to get even smaller numbers probably overkill but it makes sense mathematically.
number.append(letterPosition)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment