SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

マンガで分かるプログラミング用語辞典

「座標と原点」
~マンガでプログラミング用語解説

マンガで分かるプログラミング用語辞典(81)

解説

 コンピューターの画面や画像データは、縦横に並んだ画素の配列で画像を表現しています。この画素の位置は、X軸とY軸の座標で表現されることが多いです。

 その際、左上を原点として、右方向にX軸の値を増加していき、下方向にY軸の値を増加していきます。

 この座標のX軸の値は、0から始まり、横幅-1の値まで続きます。Y軸の値は、0から始まり、高さ-1の値まで続きます。

サンプル

 「座標と原点」を表現するコードを、JavaScriptで簡単に書いてみます。

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="UTF-8" />
        <title>「画素操作」のサンプル</title>
    </head>
    <body>
        <canvas id="cnvs" width=256 height=256></canvas>
        <script type="text/javascript">
            var cnvs = document.getElementById("cnvs");
            var ctx = cnvs.getContext("2d");

            // 全体を塗りつぶし
            ctx.fillStyle = "#ffff8f";
            ctx.fillRect(0, 0, 256, 256);

            // 原点(x=0, y=0)から横幅100、高さ200の矩形を描く
            ctx.strokeStyle = "black";
            ctx.strokeRect(0, 0, 100, 200);

            // x=60, y=25から横幅100、高さ200の矩形を描く
            ctx.strokeStyle = "red";
            ctx.strokeRect(60, 25, 100, 200);

            // x=120, y=50から横幅100、高さ200の矩形を描く
            ctx.strokeStyle = "blue";
            ctx.strokeRect(120, 50, 100, 200);
        </script>
        <input type="button" value="To Image" onClick="
            var imgUrl = cnvs.toDataURL();
            window.open(imgUrl, '_blank');
        ">
    </body>
</html>
出力結果
出力結果
フィードバックお待ちしております!

 ご感想、解説して欲しい用語、解説内容のアドバイスなどございましたら、FacebookTwitterなどでお気軽に編集部までお寄せください。よろしくお願いいたします。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
マンガで分かるプログラミング用語辞典連載記事一覧

もっと読む

この記事の著者

柳井 政和(ヤナイ マサカズ)

クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/8609 2015/06/16 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー