A atividade sugeria utilizar uma variável para o controle do contraste, eu utilizei da posição X do mouse, utilizando de uma proporção de 0 à 5 onde 0 é a ausência de contraste e 5 o contraste máximo.
Código:
PImage imgE,imgC;void setup(){
size(344, 300);
imgC = loadImage("asset.png");
imgE = new PImage(imgC.width, imgC.height);
}
void draw(){
background(0);
float con = 5f * ( mouseX / (float)width);
Contraste(imgC,imgE, con);
image(imgE, 0,0);
image(imgC,172,0);
}
void Contraste(PImage original, PImage copia,float con)
{
original.loadPixels();
copia.loadPixels();
for(int i = 0; i < original.width*original.height; i++)
{
int r = (int) red(original.pixels[i]);
int g = (int) green(original.pixels[i]);
int b = (int) blue(original.pixels[i]);
r = (int)(r * con );
g = (int)(g * con );
b = (int)(b * con );
copia.pixels[i] = color(r ,g,b);
}
original.updatePixels();
copia.updatePixels();
}
Resultado:

0 comentários:
Postar um comentário