aclib #18 - aclライブラリ入門(2)

  • (by K, 2020.09.18)

(0) もくじ

  • aclib05: aclライブラリ入門(1)
  • aclib18: aclライブラリ入門(2) ←ココ!

(1) xorを使った模様(grd_xor)

#include <acl.c>
void aMain()
{
    AWindow *win = aOpenWin(256, 256, "grd_xor", 1);
    int x, y;
    for (y = 0; y < 256; y++) {
        for (x = 0; x < 256; x++)
            aSetPix(win, x, y, (x ^ y) * 0x10101);
    }
    aWait(-1);
}
  • http://k.osask.jp/files/pic20200918d.png
  • これは以前rynaさんに教えてもらった模様です。こんな簡単なプログラムなのにきれいです。
  • 新出関数の説明です。
  • aSetPix(win, x, y, c)
    • ウィンドウwinの座標(x, y)の画素の色をcに設定します。

(2) xorlines

#include <acl.c>
void aMain()
{
    AWindow *w = aOpenWin(256, 256, "xorlines", 1);
    int x;
    aSetMode(w, AMODE_XOR);
    for (x = 0; x < 256; x++) {
        aDrawLine(w, x, 0, 255, 255, 0xffff00);
        aDrawLine(w, 0, 0, x,   255, 0xffff00);
    }
    aWait(-1);
}
  • http://k.osask.jp/files/pic20200919a.png
  • これはKが子供の時から好きだった模様です。線を引くときにXOR演算をしながら上記プログラムのように線を引くだけで、こんな模様が出てきます。
  • 昔はこんな感じでシンプルなプログラムからきれいな模様を出すものが多かった気がします。
  • 新出関数の説明です。
  • aSetMode(win, mod)
    • 描画モードを設定します。AMODE_SET, AMODE_OR, AMODE_AND, AMODE_XORがあります。
  • aDrawLine(win, x0, y0, x1, y1, col)
    • 座標(x0, y0)から(x1, y1)へ線を引きます。色はcolになります。

つづく・・・

  • (続きができたらリンクします)

こめんと欄

  • 掲示板をご利用ください。→aclib_bbs

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-09-19 (土) 20:04:38 (40d)