2019/08/19

GDグラフィックライブラリ(GD Graphics Library)の使い方

C言語でpng画像を生成したいと思い、その方法を調査したので備忘録として以下に示します。


試験環境


いつもの如くOSはdebianを使用します。


GDグラフィックライブラリとは


- Wikipediaより抜粋

GDグラフィックライブラリ(GD Graphics Library)はトーマス・ボーテル(Thomas Boutell)他によって作られたイメージを動的に操作するライブラリである。本来のプログラミング言語はANSI Cであるが、他の多くのプログラミング言語とのインタフェースが作成されている。GIF、JPEG、PNG、WBMP を生成できる。


インストール方法


debian環境では、以下のコマンドでインストールできます。

# apt update
# apt install libgd-dev

サンプルプログラム


256x256ピクセルのpng画像を生成します。ピクセル毎に着色し、赤成分を横方向に0から255まで、緑成分を縦方向に0から255まで変化させます。


リスト1(main.c)
#include <stdio.h>
#include <gd.h>

int main() {
  gdImagePtr im;
  FILE *pngout;

  int x, y;

  im = gdImageCreateTrueColor(256, 256);

  for (x = 0; x < 256; x++) {
    for (y = 0; y < 256; y++) {
      gdImageSetPixel(im, x, y, (x << 16) + (y << 8));
    }
  }

  pngout = fopen("test.png", "wb");
  gdImagePng(im, pngout);
  fclose(pngout);
  gdImageDestroy(im);

  return 0;
}

GDグラフィックライブラリ関数の仕様はこちらを参照ください。


リスト2 コンパイル&実行
$ cc -o ex1 -lgd -O3 -Wall main.c
$ ./ex1

図1 実行結果(test.png)

0 件のコメント:

コメントを投稿

【備忘録】時系列データの編集方法(R言語, tidyverse)

TimeSeries.knit 1 サンプルデータ作成 2 日付単位に集計する 2.1 月毎集計 2.2 四半期毎集計 ...