저는 디지털 이미지 프로세스를 가르치려고합니다. 구조체에 pgm을 읽었습니다. 이 구조체에는 픽셀 배열이 있습니다. 나는 그것을 잘 인쇄 할 수있다. 이제 사용자 입력을 기반으로이 사진을 자르고 싶습니다. 나는이 입력을 받아 입력 된 좌표를 기반으로 검정 직사각형을 얻습니다. 내가 뭘 잘못하고 있니?C에서 PGM 자르기
int temp, y1, y2, x1, x2, wide, high;
printf("Please Enter x1 y1 x2 y2");
scanf("%i %i %i %i", &x1, &y1, &x2, &y2);
if(y1> y2)
{
temp = y1;
y1 = y2;
y2 = temp;
}
if(x1> x2)
{
temp = x1;
x1 = x2;
x2 = temp;
}
wide = x2-x1+1;
high = y2-y1+1;
fprintf(outstream, "%2s\n%i %i\n%i\n", header->filetype, wide, high,header->maxgray);
pixel image[header->height][header->width];
pixel *pix = malloc((wide*high) *sizeof(char));
int a = 0;
for(int b= 0; b<header->height; ++b)
{
for(int c=0; c<header->width; ++c)
{
image[b][c] = header->p[a];
++a;
}
}
int k = 0;
for(int i = 0; i< high; ++i)
{
for(int j = 0; j<wide; ++j)
{
pix[k]=image[i][j];
}
}
fwrite(pix, 1, (wide*high) * sizeof(pixel), outstream);
http://sscce.org/ –
'k' 변수는 증가하지 않습니다. – Delimitry