[ create a new paste ] login | about

Link: http://codepad.org/yrbB47hy    [ raw code | output | fork ]

C, pasted on Nov 24:
// cc -O new_view.c viewerlib.c -lX11 -D_FORTIFY_SOURCE=0

#include"viewer.h"

void ImageRead(Image*im,char*name){
  FILE*fp=fopen(name,"rb");
  fscanf(fp,"%*s%d%d%*s%*c",&im->W,&im->H);
  im->data=(unsigned char*)malloc(im->W*im->H*3);
  fread(im->data,1,im->W*im->H*3,fp);
  fclose(fp);
}

void ImageAlloc(Image*dst,Image*src){
  dst->W=src->W;
  dst->H=src->H;
  dst->data=(unsigned char*)malloc(src->W*src->H*3);
}

void Process(Image*dst,Image*src){
#define DIST2(x,y,xx,yy) (x-xx)*(x-xx)+(y-yy)*(y-yy)
  int x,y;
  printf("Process\n");
  for(y=0;y<dst->H;y++)
    for(x=0;x<dst->W;x++){
      dst->data[(y*dst->W+x)*3+0]=src->data[(y*src->W+x)*3+0];
      dst->data[(y*dst->W+x)*3+1]=src->data[(y*src->W+x)*3+1];
      dst->data[(y*dst->W+x)*3+2]=src->data[(y*src->W+x)*3+2];
    }
}


main(){
  Viewer vw;
  Image dst,src;

  ImageRead(&src,"input.jpg");
  ImageAlloc(&dst,&src);  // src と同じ大きさの領域を確保し,dst のメンバを設定する.
  Process(&dst,&src);     // src をもとにして,dst を作成する関数を呼ぶ.
  //printf("ViewerInit\n");
  ViewerInit(&vw,dst.W,dst.H);
  //printf("ViewerImageWrite\n");
  ViewerImageWrite(&vw,&dst);
  //printf("ViewerEvent\n");
  while(1){
    int ev[4];
    ViewerEvent(&vw,ev);
    if(ev[0]=='q' || ev[0]==248) return 0;
  }
}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Line 18: error: viewer.h: No such file or directory
Line 5: error: expected ')' before '*' token
Line 13: error: expected ')' before '*' token
Line 19: error: expected ')' before '*' token
In function 'main':
Line 33: error: 'Viewer' undeclared (first use in this function)
Line 33: error: (Each undeclared identifier is reported only once
Line 33: error: for each function it appears in.)
Line 33: error: expected ';' before 'vw'
Line 34: error: 'Image' undeclared (first use in this function)
Line 34: error: expected ';' before 'dst'
Line 36: error: 'src' undeclared (first use in this function)
Line 37: error: 'dst' undeclared (first use in this function)
Line 40: error: 'vw' undeclared (first use in this function)


Create a new paste based on this one


Comments: