このプログラムを教えてください。 実行時引数で指定したPNG形式の画像ファイルを読み込み、 画像のサイズを表示するプログラムを作成したい。 #include <stdio.h>
このプログラムを教えてください。 実行時引数で指定したPNG形式の画像ファイルを読み込み、 画像のサイズを表示するプログラムを作成したい。 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ FILE *fp; char *pngfile; unsigned int xsize, ysize; if (argc != 2){ printf("使い方: %s pngファイル名\n", argv[0]); exit(1); } pngfile = argv[1]; printf("画像ファイル:%s\n", pngfile); printf("サイズ: %d x %d\n", xsize, ysize); return 0; } ・画像の幅は、 ファイルの先頭から数えて17バイト目~20バイト目の4バイトに格納されている。 画像の高さはその直後(21バイト目~24バイト目)の4バイトに格納されている。 つまり、先頭から16バイト読み込んでその内容は捨て(使わず無視する)、 続いて4バイト、4バイトと読み込めば幅と高さが取得できる ・最初に適当なサイズの文字型配列 buf を作成しておき、 bufに対して必要なバイト数を読み込んでは内容を処理する
C言語関連・32閲覧