#include "stdafx.h"
#define X_MAX 640
#define Y_MAX 640
int _tmain(int argc, _TCHAR* argv[])
{
int i,j,k;
FILE *out;
char out_data[X_MAX][Y_MAX];
for(i = 0; i < Y_MAX; i++)
for(j = 0; j < X_MAX; j++)
{
out_data[i][j] = 0;
if ( i >= 90 && i <= 150 )
if( j >= 120 && j <= 200 )
out_data[i][j] += 100;
}
out = fopen("image.raw", "wb");
fwrite(out_data, sizeof(char), X_MAX*Y_MAX, out);
fclose(out);
return 0;
}
c언어를 이용해서 640*480 크기의 raw 파일을 만드려고 하는데 X_MAX와 Y_MAX의 크기가 위에 해둔것처럼 640 640으로 같게해서 파일을 포토샵으로 보면 제대로 나오는데 X_MAX와 Y_MAX의 크기가 640 480처럼 다르면 그림이 깨져서 나오는데 원인이 뭘까요?
아이고 아야 이거를 봐라. out_data[X_MAX][Y_MAX];라고 선언해 놓고 out_data[i][j]에서 i를 Y_MAX까지 j를 X_MAX까지 넣으면 어쩌니? 둘 중 하나를 반대로 바꿔야지.