C言語なら俺に聞け(入門篇) Part 42
■ このスレッドは過去ログ倉庫に格納されています
0671デフォルトの名無しさん
2009/01/16(金) 12:54:54しかしヘッダーの上手い出力の仕方がわからず、
char bFileHeader[BMPFILEHEADER_S + 1]; // BITMAPFILEHEADER(14bytes)
中略
// BITMAPFILEHEADER
bFileHeader[0] = 'B';
bFileHeader[1] = 'M';
*((int*)(bFileHeader + 2)) = filesize;
*((int*)(bFileHeader + 6)) = 0x00;
*((int*)(bFileHeader + 10)) = BMPFILEHEADER_S + BMPINFOHEADER_S;
中略
fwrite(bFileHeader, BMPFILEHEADER_S, 1, fp);
としており、実際に正規なファイルを出力しますが、
可読性が低いし、書くのが大変な気がします。
構造体と#pragma packを使いたくない場合、
普通はどのようにしてこれを行うのでしょうか?
また、最近ではBMPは使わずPNGを使いたい場合が多いようですが、
初心者にPNGの仕様を与えたところで、実装できるようなレベルではないとあります。
プロの(職業プログラマ)のレベルだとPNGの実装くらい自前で行えるのは当たり前なんでしょうか?
(ライブラリがあるだろうに、わざわざ自分で実装することが愚かかどうかは別にして、技術的に)
■ このスレッドは過去ログ倉庫に格納されています