小学校教員のためのプログラミング入門

マウスカーソル周辺だけ色を変えるスケッチの例

PImage photo;

void setup()
{
  size( 800,600 );
  photo = loadImage( "20081207-3.jpg" );
}

void draw()
{
  fill(255);
  stroke(255);
  rect(0,0,width,height);
  
  image( photo, (width-photo.width)/2, (height-photo.height)/2 );

  int len = 50;
  int x1 = constrain( mouseX-len/2, 0, width-1 );
  int x2 = constrain( mouseX+len/2, 0, width-1 );
  int y1 = constrain( mouseY-len/2, 0, width-1 );
  int y2 = constrain( mouseY+len/2, 0, width-1 );

  for( int y = y1 ; y < y2 ; y++ )
  {
    for( int x = x1 ; x < x2 ; x++ )
    {
      color cl = get(x,y);
      set( x, y, color( red(cl)/2, green(cl), blue(cl) ) );
    }
  }
}