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