画像を読み込む配列の確保。
C言語について質問です。
画像を読み込む時、その画像の幅、高さを入力し、そのサイズに見合った配列を確保します。その後ファイル名を入力し、配列に読み込むプログラムを作成しました。
メインの部分のみ記述します。
int xsize, ysize, i;
unsigned char **src;
char filename[30];
FILE *fp;
printf("ファイル名を入力してください:"); scanf("%s", filename);
printf("画像の幅:");scanf("%d", &xsize);
printf("画像の高さ:");scanf("%d", &ysize);
src = (unsigned char **)malloc(sizeof(unsigned char *) * ysize);
for(i=0; i<ysize; i++)
src[i] = (unsigned char *)malloc(sizeof(unsigned char) * xsize);
fp = fopen(filename, "rb");
fread(src[0], sizeof(unsigned char), xsize * ysize, fp);
このように記述し、エラーもなく実行できたのですが、srcをこのまま出力すると変?な画像となって出力されてしまいました。
上のように記述した場合、矛盾する場所はあるでしょうか?
そして、この方法以外に配列を確保する方法はあるでしょうか?
お礼
この方法で成功しました 有難うございました