4/08/2010

Illustrator のような三次ベジェ曲線を描く(bezierCurveTo) [html5 の Canvas を使ってみる:第卅六回]

bezierCurveTo(); では、Illustrator のような三次ベジェ曲線を描けるらしい。

★html 側
<canvas id="bezierCurveTo"></canvas>


★Javascript 側
onload = function() {
// 画面ロード時に描画を実行
  draw();
};
function draw() {
// id: bezierCurveTo で 2 次元描画を行うことの定義
  var c = document.getElementById("bezierCurveTo").getContext('2d');

// 描画をすることを宣言
  c.beginPath();
// 筆おろしの座標を x:0、y:100 に定義
  c.moveTo(0, 100);
// x:20、y:20 を座標とするアンカーポイントと、
// x:80、y:20 を座標とするアンカーポイントを持ち、
// x:100、y:100 までの三次ベジェ曲線を描画
  c.bezierCurveTo(20, 20, 80, 20, 100, 100);
// これらの座標に対して線を引く指令
  c.stroke();
}


すると、こうなる。上記で指定したアンカーポイントの座標に向かう赤い補助線も引いてみた。


次に、左のアンカーポイントの先っちょを x:50 にずらしてみたらどうなるかやってみた。
c.bezierCurveTo(50, 20, 80, 20, 100, 100);



最後に、左のアンカーポイントの先っちょを y:150 にずらしてみたらどうなるか。
c.bezierCurveTo(20, 150, 80, 20, 100, 100);



確認環境:
Safari 5.0、Chrome 5.0.375.70、Firefox 3.6.3、Opera 10.53

W3C;
4.8.11 The canvas element — HTML 5

4/06/2010

ガンバ大阪 ペドロ・ジュニオール、Sport Club do Recife へ移籍決定

Pedro Júnior é o novo reforço do Leão

開幕からリーグ戦を勝てないガンバだが、遂にペドロに動きが現れた。母国ブラジルのクラブへ移籍するらしい。記事によると先週の土曜午後にはサインしたらしい。

所属クラブであるガンバのユニフォームを叩き付けた代償は、J のクラブからも「ユニフォームを叩き付ける奴はいらない」というように日本での移籍先が難航した結果になって現れた。

さて、空いた外国人枠をどのように消費するのだろうか。もう FW はいいんじゃないか?できれば加地の後継者として右サイドバックを望む。

4/05/2010

携帯電話の SIM ロック、解除を要請へ--総務省

携帯電話の SIM ロック、解除を要請へ--総務省

もし SIM フリーになれば個人的にはとても嬉しい。糞フトバンクと契約しなくても iPhone を使えるようになるかもしれないからだ。どうも先日来、この SIM フリーに対して抗議しているのは糞フトバンクだけど、そりゃそうだろうなと思う。

私が望んでいるように、糞フトバンクと契約せずに iPhone を使いたい、もしくはディズニーモバイルを使いたいという人は結構いるように思う。そのユーザから料金を吸い上げるチャンスがなくなるし、妥協して糞フトバンクと契約していたユーザは元のキャリアに戻ることになれば、かなりの収入減になる見込みになると思う。それだけ、魅力的な端末と揃え、広告に金をかけてきた証でもある。ただ、その妄想的な手段でしか囲い込みを果たせていないのが、糞フトバンクの現状だ。そして、この SIM フリーになることによって、我々ユーザは大きな恩恵を受けることになる。それは料金だ。

現在の携帯電話利用料金が高いのは、糞フトバンクのアクセスチャージが高いことに起因している、というのは有名な話だ。アクセスチャージというのは例えば、au ユーザである A さんが docomo ユーザである B さんに電話をしたとする。すると着信させるためには、B さんの電話にたどり着くために docomo 回線の中を徘徊する必要がある。その時の回線使用料として、au は docomo に支払うことになる、という仕組み。糞フトバンクはこの他社へ請求することになるアクセスチャージが高い。請求されたキャリアは、その分を利用料引き上げという措置により賄う。これで au と docomo の料金が高くなり、「ではウチも」ということで糞フトバンクも便乗値上げを行う。

要は、糞フトバンクの利用者が増えれば増える程、利用料はどんどん上がっていくという構図になる。従って、前述したように、魅惑的な端末を docomo や au ユーザが糞フトバンクと契約せずに使えるようになると、この糞フトバンクからアクセスチャージされる回数が減り、その分料金を安くできるという理屈になる。

尤も、現時点でも糞フトバンク携帯には電話をかけないようにすれば、SIM フリーにならなくても可能かもしれないが。糞フトバンク、ダメ、ゼッタイ。

さらに、何度も言っているが、糞フトバンクは日本人から吸い上げる料金には、糞フトバンクを使っている在日朝鮮人の料金も含まれている。あなたが支払っている料金は、どっかの在日の分も一緒に支払っているのだ。SIM フリーになって糞フトバンクが携帯電話業界撤退に値する打撃を与えられることを期待する。

SIM フリーは日本国にとって、利益となる。

4/04/2010

外部ドメインのファイルを XMLHttpRequest と php で読み込む

普通に XMLHttpRequest で外部ドメインのファイルを読み込めるのは、現在確認している限りでは、Mac ローカル環境と Safari しかない。これは Dashboard で使用する widget のためなのかもしれないが、ローカル Mac と Safari の組み合わせでなら可能だ。しかし php を使えば、XMLHttpRequest 単体では読み込めない外部ドメインのファイルも読み込むことができる。これにたどり着くまでに色々と調べたりしたけど、どれもソースが長かったり jquery を使ったりとめんどくさいものが多かったが、この手法ではかなり簡単に実現できる。

javascript を含んだ html を test.html、XMLHttpRequest によって読み込まれる php を test.php とする。

★html(test.html)
<form action="javascript:readFile(url.value);" method="post">
  <input type="text" size="200" id="url" name="url" />
  <input type="submit" value="read" />
</form>
<div id="result"></div>


★javascript(test.html)
function readFile(str) {
// form の action で飛ばされた url を受け取る
  fileName = "test.php?" + str;
// IE は特に考慮に入れていない
  var xmlHttpReq = new XMLHttpRequest();
  xmlHttpReq.open("GET", fileName, true);
  xmlHttpReq.onreadystatechange = function() {
    if (xmlHttpReq.readyState == 4) {
      fileData = xmlHttpReq.responseText;
      document.getElementById("result").innerHTML = fileData;
  }
  }
  xmlHttpReq.send(null);
}


★php(test.php)
// XMLHttpRequest で読み込むファイル名の
// ? 以降の url を取得
$fileName = $_SERVER["QUERY_STRING"];
// url を読み込み、php 内で展開する
  readfile($fileName);


Safari、Firefox、Chrome で確認済み。Opera は調子悪いので未確認。

4/02/2010

Time Machine を使ってみる

アップル - Mac OS X - Mac OS Xとは? - Time Machine

Mac OS 10.5 からは Time Machine という自動バックアップの機能が OS に付属している。初回のバックアップは全てをコピーするので時間はかかるが、以降は差分ファイルのみを自動でバックアップしてくれる。とてつもなく便利な機能。システム環境設定に書いてある「Time Machine では次のものが保存されます」を書いてみると、こんな感じ。
  • 過去 24 時間の 1 時間ごとのバックアップ

  • 過去 1 か月の 1 日ごとのバックアップ

  • 過去のすべての月の 1 週間ごとのバックアップ


何故今更、初めて使ってみるのか。残念ながらうちには外付け HDD がなかったので、使うにも使えなかった。しかしこの前の ISP 新規契約でキャンペーンとしてもらえたので、今日初めて実装してみた。その初回のバックアップが約 30 分後(一度キャンセルしたため。実際はすぐに初回は始まる)なのだが、Apple が喧伝しているように、本当にバックアップ中も作業を続けられるような環境を維持できるのかを見てみたい。

しかし Time Machine の画面は秀逸過ぎる。言葉を失う。

04/03/2010 edit ---------------------
いつの間にかバックアップが終わっていた。その間も特に遅いといった感じもなく作業することができた。とても素晴らしい機能だ。

Opera 10.5 pre-alpha for Labs が強制終了する

どうも Opera 10.5 pre-alpha for Labs が調子悪い。今日ちょっと再起動しようと思って Opera を落としたときに、やけに時間かかるなと思っていたけど、再起動後に立ち上げようとすると、立ち上がった瞬間に強制終了する。先ほどはソフトウェアアップデートをしたので再起動をまたしたけど、やっぱりおかしい。

一応 Opera には報告を送っておいたけど、どうなるんだろか。

I double-clicked the Opera icon, and I can see the browser window just a moment, but after the moment, Opera was forced to close. I tried after rebooting my computer, but this problem is still alive.
Environment; Mac OS 10.6.3

4/01/2010

私は罰金を感じている。

下らない話題だが、google 翻訳で「I feel fine.」と打ち、日英翻訳を行うと、「私は気分がいい。」となる。
I feel fine. を google 日英翻訳

私の「I」を小文字の「i」に変えて「i feel fine.」とすると、「私は罰金を感じている。」となる。
i feel fine. を google 日英翻訳

どうも google 翻訳は、アルファベット使用言語同士なら強いけど、そうでない日本語を絡めた翻訳には弱い気がする。