작가/코드

Processing ESP Example - 이응노

yuhyje 2014. 9. 11. 00:39


Processing

ESP Example > 이응노



///// 1. 변수 선언 파트 /////

 

int mw_x, mw_y;    // main window size        좌측 커다란 사진 사이즈

int sw_x, sw_y;      // sub window size        우측 작은 사진들 사이즈

int ximg, yimg;       // image size

 

int rx, ry;    // revised size

int sx, sy;    // image locations at sub windows

int cnt=0;    // frame count



///// 2. Setup /////

 

mw_x = screenWidth/3*1;        // 커다란 사진 폭은 전체의 1/3

mw_y = screenHeight;               // 커다란 사진 높이는 전체 높이와 동일

  

sw_x = screenWidth/12;

sw_y = screenHeight/8;



///// 3. Draw /////

 

if(cnt >= 65000) cnt=0; // 프레임레이트 1씩 증가시키다가 65000을 넘어가면 0부터 다시 시작

else cnt++;



///////// 3-1. showing the image at the main window part 커다란 사진 디스플레이하는 부분

  

  rx=mw_x; // 가로는 전체 디스플레이 폭의 1/3에 맞게 출력하면 되지만,

  ry=rx * 3/4; 

// 세로를 전체 디스플레이 높이대로 했다가는 늘어난다.. 

// 따라서 보기 좋게 세로를 가로의 3/4으로 조정

 

  // ESPServer 에서 이미지 로드하는 함수

  // void mImage(String absolutePath, float x, float y, float w, float h)

 

  mServer.mImage("\\\\ParadigmServer\\share\\Ungnolee\\print_original\\print"+(cnt/1000+1)+".jpg", 0.0, (mw_y-ry)/2, rx, ry);

  

  // 프레임레이트가 0이면 이미지 print1 이 커다란 사진으로 디스플레이되고

  // 프레임레이트가 1000이면 이미지 print2 가 커다란 사진으로 디스플레이된다.

  // 1초에 20프레임이므로 프레임레이트 0부터 1000까지 걸리는 시간은 50초.

  // 따라서 커다란 사진은 50초마다 다음 사진으로 변경된다.

 

  // 위치도 이해 됨 - 정확히 Height 의 가운데에 오도록 조정한 것임



///////// 3-2. showing the other images at the sub window part 작은 사진들 디스플레이하는 부분

 

 for(int i = 1; i<65; i++)    // 총 64장의 작은 사진들

{

sx=((i-1)%((screenWidth-mw_x)/sw_x))*sw_x+mw_x;

sy=((i-1)/((screenWidth-mw_x)/sw_x))*sw_y;

   

mServer.mImage("\\\\ParadigmServer\\share\\Ungnolee\\print_original\\print"+i+".jpg", sx, sy, sw_x, sw_y);

println(sy); 

}