Usei a transição do minuto 2:00 do vídeo, pela sua simplicidade.
Se trata de um deslocamento de uma linha da esquerda para a direita, mudando a imagem apresentada.
Usei um scanline apenas nas linhas verticais, para o programa rodar fluido e mais rápido e desenhei uma linha mais grossa, acompanhando a transição. A transição teria uma variável que guarda o limiar entre as duas imagens (posição X da animação) e desenhei a linha escondendo este limiar.
Código:
Se trata de um deslocamento de uma linha da esquerda para a direita, mudando a imagem apresentada.
Usei um scanline apenas nas linhas verticais, para o programa rodar fluido e mais rápido e desenhei uma linha mais grossa, acompanhando a transição. A transição teria uma variável que guarda o limiar entre as duas imagens (posição X da animação) e desenhei a linha escondendo este limiar.
Código:
PImage img1, img2, imgCopia; boolean transicao, fim; int x, y, pos; float r,g,b; void setup() { size(320, 240); fim =false; img1 = loadImage("img1.jpg"); img2 = loadImage("img2.jpg"); imgCopia = img1; strokeWeight(5); transicao = false; x = 0; y = 0; } void draw() { image(imgCopia, 0, 0); if (transicao) { for (y = 0; y< 240; y++) { pos = y*320 + x; imgCopia.loadPixels(); r = red(img2.pixels[pos]); g = green(img2.pixels[pos]); b = blue(img2.pixels[pos]); imgCopia.pixels[pos] = color(r, g, b); imgCopia.updatePixels(); line(x, 0, x, 240); } x++; if (x >= 320) { x =0; y = 0; transicao = false; fim = true; } } } void mousePressed() { if(!fim) transicao = true; }
Comentários
Postar um comentário