f8g

Tombloo Mozaic でソート by 色

http://media.tumblr.com/CAiSbEIuHf56x5ckvY5gAzbMo1_500.png
Greasemonkeyでやろうとしたけど動かなかったんで、そのままHTMLにコード書き込みました。HTMLは通常、
Firefoxのプロファイルディレクトリ\extensions\tombloo@brasil.to\chrome\content\library\Mosaic.html
にあります(多分)。Mosaic.htmlの一番下の方にでもコードを書いてやります。

<script src="http://github.com/arikui/image_processing.js/tree/master%2Fimage_processing.js?raw=true"></script>
<script type="text/javascript">
(function(){
	// sort button
	var button = $("control").appendChild(document.createElement("button"));
	button.innerHTML = "sort";
	var photos = [];

	button.onclick = function(){
		this.disabled = true;
		var i = 0;

		// 画像から色を取って配列に入れてる
		deferredForEach($("mosaic").getElementsByTagName("img"), function(photo){
			document.title = i++ / 10 + "%"; // 進捗状況が一目で分かる!

			// 画像がない時は何もしません
			if(!photo.naturalWidth)
				return wait(0);

			photos.push({
				image   : photo,
				color   : ImageProcessing.load(photo.src).average(),
				toString: function(){
					return ("00" + Math.round(this.color.average()).toString()).slice(-3);
				}
			});

			return wait(0);
		})
		// 配列に入れたやつをソートして戻してる
		.addCallback(function(){
			document.title = "complete";

			photos.sort();

			$("mosaic").innerHTML = "";

			photos.forEach(function(photo){
				$("mosaic").appendChild(photo.image);
			});
		})
		.callback();
	};
})()
</script>

sortボタンが現れます。
http://media.tumblr.com/CAiSbEIuHf57m7wlFUs7dBKzo1_500.png
押して長時間するとソートされます。

応用

画像からモザイク画が作れそうですね。