IT戦記 このページをアンテナに追加 RSSフィード Twitter

2007-09-12

JavaScript のワンライナーでカラーコード

RGB 値が分かってて #XXXXXX を計算するのめんどいなーと思って

Firebug でやってみた。

'#' + [76, 84, 105].map(function(i){ return (i >> 4 ? '' : 0) + i.toString(16) }).join('')

このくらいならワンライナーで書けて便利ー^^

追記:

弾さんからトラックバックもらって見てみたけど弾さんはちょっとミスってたので再トラバします。

(function(r,g,b){return '#' + (r < 16 ? 0:'') + (r*65536+g*256+b).toString(16)})(15, 127, 255)
http://blog.livedoor.jp/dankogai/archives/50911084.html

これだと

(function(r,g,b){return '#' + (r < 16 ? 0:'') + (r*65536+g*256+b).toString(16)})(0, 1, 1) // #0101 

このように r が 0 だとおかしくなりませんか?

という訳で弾さんのを元にした別解

(function(r,g,b){return ((1<<24)+(r<<16)+(g<<8)+b).toString(16).replace(/^1/,'#')})(0, 1, 1)

どうでしょうか

いや、こっちのがいいかな

(function(r,g,b){return ((((1<<8)+r<<8)+g<<8)+b).toString(16).replace(/^1/,'#')})(0, 1, 1)

いやー。時間の無駄遣いだなあ

僕のパーサブームはまだまだ終わらない

すばらしいエントリが上がっています。

で、最近 XPath 処理系の実装が停滞してるんですけど。

飽きたんじゃなくて、Shibuya.JSWEB+DB PRESS の〆が終わるまで待って><!!

忙しいとネットの話題についていけないなあ

Web 2.0 言うなの人にいろいろ言及されてたのね気が付かなかった。。。僕の意見はブクマコメントに書きました。

# それにしても。。。はてブのコメント欄は字数制限キツ過ぎる (;∀;)カナシイカナー