#ifndef _QR_DRAW_ #define _QR_DRAW_ #define MARGIN_SIZE 4 /* マージンサイズ */ #define MAX_MODULESIZE 177 /* データバイト列の領域サイズ */ //============================================================================= // QRDraw クラス //============================================================================= class QRDraw { public: virtual ~QRDraw(){} void setup(char *filename, int modulesize, int symbolsize){ this->msize = modulesize; this->ssize = symbolsize; this->rsize = (this->ssize + MARGIN_SIZE * 2) * this->msize; this->filename = filename; } protected: unsigned char **bit_image; //ピクセルイメージを格納する int msize; // 1ドットを表現するピクセル数(=modulesize) int rsize; // マージンを含めた実際のイメージの一辺 int ssize; // シンボルサイズ(マージンを含めない、ドットの個数) char *filename; // 保存するファイル名 public: virtual int draw(char *filename, int modulesize, int symbolsize, unsigned char data[MAX_MODULESIZE][MAX_MODULESIZE], void *opt) = 0; }; #endif