カテゴリー: blog

JavaScript, Canvas スキャンライン・シードフィル アルゴリズムによる塗り潰し

HTML5 Canvas でバケツツールによる塗り潰しを実現するために、スキャンライン・シードフィル (Scan Line Seed Fill) というアルゴリズムを使ってみた。 アルゴリズムの詳細については、以下のサイトを参考にした。 参考:ActionScript入門Wiki@rsakane – 塗りつぶしアルゴリズム(スキャンライン – シードフィル編)    ペイン…続きを読む

Ubuntu 10.04 Lucid Lynx で音量調節アプレットを回復する

Ubuntu 10.04 でパネルのメールのアイコンのアプレットを削除したら、音量調節のアプレットも消えてしまった。 これは"インジケーターアプレット"という1つのアプレットだったらしい。 パネルの右クリックメニューから『パネルへ追加…』をクリックして、『インジケーターアプレット』を追加すると音量調節のアプレットが復帰した。

Ubuntu 10.04 Lucid Lynx を Thinkpad X60 にインストール

Ubuntu 10.04 Lucid Lynx を Thinkpad X60 (Intel X25-M SSD) にクリーンインストールした。 インストールにかかった時間はきっかり20分。 とりあえず Dropbox をインストールして設定ファイル群をダウンロードし、設定ファイルにシンボリックリンクを張ったりして 9.10 で使っていた各種設定を引き継がせる。 日本語入力を uim-skk に変更…続きを読む

JavaScript, apply/call メソッドと prototype 継承

こちらのサイト『JavaScriptで継承やるときにprototype書きまくるのめんどい人は – あ、いしかわですね』で Function.apply を使って継承を記述する方法が紹介されていた。 apply と call の使い方を今一度復習しておく。 Function.apply function.apply(obj, args) function を obj のメソッドとして呼…続きを読む

JavaScript HTML5 DOM Storage

DOM Storage 属性・メソッド length 格納されているデータの数(unsinged long)を返す、読込専用属性。 key(index) インデックス(unsinged long)を引数として、対応する格納データ文字列を取得する。 格納されているキーとデータのペアの数以上のインデックス値を渡すと null を返す。 getItem(key) キー文字列を引数として、対応する格納デー…続きを読む

JavaScript 配列 (Array) の反復的なメソッド

JavaScript1.6、 1.8 で追加された、配列 (Array) の反復メソッドについて。 filter 配列を、引数として渡された関数でフィルタリングして、結果が真(true)となる要素からなる配列を作る。 filter に渡される関数は、要素の値、インデックス、配列の3つの引数を取る。 function(val, index, array) 配列内の偶数要素からなる配列を作る例。 va…続きを読む

JavaScript でループ処理の中でのイベント割り当てにクロージャを使う

このクロージャの使い方を忘れてしまうのでメモしておく。 ループ処理の中でイベントを割り当てる場合に、ループカウンタが回り切ったものが適用されてしまう問題の解決方法。 デモ JavaScript コード /* クロージャを使わない場合(カウンタが回り切った値 3 が表示される) */ for (var i = 0; i < 3; i++) { $(‘#action1-‘+i).click(fu…続きを読む