quarta-feira, 27 de janeiro de 2016

Knob

Atividade para simular um Knob que realiza a transição entre imagens fazendo um fade de acordo com o eixo da alavanca.

No código abaixo eu utilizei a posição Y do mouse para calcular o alpha da primeira imagem, enquanto inverto para o alpha da segunda imagem.

Código:

PImage img1,img2;
float r1,r2,g1,g2,b1,b2,a1,a2;
int pos;

void setup(){
  size(300,300);
  img1 = loadImage("obiwan1.jpg");
  img2 = loadImage("obiwan2.jpg");
}

void draw(){
  loadPixels();
  a1= float(mouseY)/height;
  a2= 1-a1;
  for(int x=0;x<300;x++){
    for(int y=0;y<300;y++){
      pos = y*300+x;
      r1=a1*red(img1.pixels[pos]);
      r2=a2*red(img2.pixels[pos]);
      g1=a1*green(img1.pixels[pos]);
      g2=a2*green(img2.pixels[pos]);
      b1=a1*blue(img1.pixels[pos]);
      b2=a2*blue(img2.pixels[pos]);
      pixels[pos]=color(r1+r2,g1+g2,b1+b2);
    }
  }
  updatePixels();
  ellipse(280,mouseY,20,20);
}

Resultado:

0 comentários:

Postar um comentário