Ejemplo n.º 1
0
int main(int argc, char *argv[]) {

  if ( !argv[1] ){
    cerr<<"ERROR: No se ha especificado un archivo imagen.\n";
    cout<<argv[0]<<": Aplica efecto 'emboss' sobre la imagen.\n";
    cout<<"uso: "<<argv[0]<<" <archivo_imagen>"<<endl;
    return 1;
  }

  CImg<float> original( argv[1] );
  CImg<float> mod( original );
  CImgDisplay disp;

  short x=0, y=0;
  bool invertir = false;
  mod.display(disp);

  while (! disp.is_closed() ) {
    disp.wait();
    if ( disp.is_keyARROWUP() ) { y +=1; disp.flush(); }
    if ( disp.is_keyARROWDOWN() ) { y -=1; disp.flush(); }
    if ( disp.is_keyARROWLEFT() ) { x -=1; disp.flush(); }
    if ( disp.is_keyARROWRIGHT() ) { x +=1; disp.flush(); }
    if ( disp.is_keyI() ) { invertir = !invertir; disp.flush(); }

    mod = emboss( original, x, y, invertir);
    disp.resize(mod);
    mod.display( disp );

  }

  return 0;
}