railslove / kickerapp

https://www.kicker.cool
25 stars 13 forks source link

Bunter Standard-Karl (d.h. default avatar) #87

Closed paulkoegel closed 10 years ago

paulkoegel commented 10 years ago

nur ne idee: standardavatar-SVG so manipulieren, dass aus den initialen die trikotfarbe gebaut wird, dann sind die unterscheidbarer da wir das SVG eh in den DOM serialisieren, sollten wir das leicht machen können.

paulkoegel commented 10 years ago
x=('AA'..'ZZ').each_with_index.map{|el, idx| {el => idx}}.inject({}){|memo, el| memo[el.keys.first] = el.values.first; memo}
x['JH']
=> 241
x['ZZ']
=> 675
x['AA']
=> 0

damit hat man schon mal die zahlen, jetzt muss man das noch auf den sRGB farbraum strecken:

factor = 16777215.0/ 675.0 # sRGB hat 16777216 verschiedene Farben

(x['PW'] * factor).floor.to_s(16)
=> "9c413a"

(x['SP'] * factor).floor.to_s(16)
=> "b72ea5"

(x['JH'] * factor).floor.to_s(16)
=> "5b66c7"

(x['AA']*factor).floor.to_s(16)
=> "0"

mit zero padding:

(x['AA']*factor).floor.to_s(16).rjust(6, '0')
=> "000000"
(x['SP'] * factor).floor.to_s(16).rjust(6, '0')
=> "b72ea5"
paulkoegel commented 10 years ago

Railslove in farbe: http://monosnap.com/image/geh7zwl1G7a2fvx0Q6TVD2o4Sp3Mr5.png

http://jsbin.com/teqayitehege

%w(LB MB JK TS JH LK TL PW PB IS MS SP PB SH).map{|el| (x[el]*factor).floor.to_s(16).rjust(6, '0')

[
"#6cd8ef",
"#76b548",
"#5c8a0c",
"#c22e44",
"#5b66c7",
"#7042bf",
"#bf86a2",
"#9c413a",
"#944a55",
"#55b66c",
"#7d27d2",
"#b72ea5",
"#944a55",
"#b425ec"
]
paulkoegel commented 10 years ago

umlaute müssten noch durch transliterate

paulkoegel commented 10 years ago

initialen der deutschen nationalmannschaft: http://monosnap.com/image/QGqG08EwTgdKSqO0GX0WjmquBOCIa1.png

gelb kriegt man übrigens mit den initialien "ZO". sollten vielleicht noch das mapping ändern, wenn's zu braunlastig wird.

paulkoegel commented 10 years ago

invertiert auf "streck"/mapping ebene: http://monosnap.com/image/IyvYPRH9EuBmiNHclANjfcOSdbcDed.png

(16777215.0 - x['PW'] * factor).floor.to_s(16)

ist vielleicht n bisschen fröhlicher!?

tmschndr commented 10 years ago
require 'digest/md5'
"#" + Digest::MD5.hexdigest("TS")[1..6]
 => "#ba89ab"
tmschndr commented 10 years ago

Aber wahrscheinlich ist Pauls ein bisschen farbenfroher.

tmschndr commented 10 years ago

Railslove:

paulkoegel commented 10 years ago

nationalelf: http://monosnap.com/image/lmX8ikkU5kuF4yWStJfs5woTOWb0zo.png

paulkoegel commented 10 years ago

mir eigenltich wumpe, dein code is einfacher. mappt zwar streng genommen nicht so schön (mit homogenen abständen) auf den sRGB farbraum, aber das is bei den resultaten ja egal.

tmschndr commented 10 years ago

Ist zwar von der Implementierung her völlig ohne Bezug zu einem Farbraum, aber: geht :)

stephanpavlovic commented 10 years ago

Jep, aber ich mag auch die Einfachheit von deinem Ansatz. Bau es mal so ein