continuación y finalización de solemne 2 - 20.05.2024
con este rafita proyect podrás conocer a la clota, la imagen que se muestra en el editor, ella es la mascota de @rafita.studio, podrás cambiarle el color de la foto con un efecto muy contemporáneo de halftone con sólo presionar el botón! que se encuentra en la parte inferior de la foto. Vuélvete loco viendo cómo la clota cambia de colorsito. DISFRUTA!
para crear el botón usamos 'createButton()
, en este caso lo programamos de esta forma:
//declaramos el botón con el que vamos a cambiar el color como button
let button;
// creamos un botón con el nombre de "presiona para cambiar el color"
// definimos la posición al centro y abajo de la imagen
function setup() {
button = createButton("presiona para cambiar el color");
button.position(100, 540);
//definimos cuando el botón sea presionado, cambie el color entre 'pink' y 'blue'
button.mousePressed(randomColor);
}
referencia buttonPressed: https://p5js.org/reference/#/p5/createButton
utilicé los colores y el efecto halftoned
que entrega la biblioteca de p5.riso. A continuación cómo se programó:
//declaramos el botón con el que vamos a cambiar el color como button
//y capaActual para poder definir el color de forma aleatoria
let button;
let capaActual;
function setup() {
// definir los colores 'pink' y 'blue'
// con los 2 colores que entrega la biblioteca p5.riso son "FLUORESCENTPINK" y "SKYBLUE"
//https://antiboredom.github.io/p5.riso/#halftoneImage
pink = new Riso("FLUORESCENTPINK");
blue = new Riso("SKYBLUE");
// dejamos que el primer color sea 'pink'
capaActual = pink;
//definimos cuando el botón sea presionado, cambie el color entre 'pink' y 'blue'
button.mousePressed(randomColor);
// definir el valor del botón a color random
function randomColor() {
//let c = random([pink, blue]);
// si definimos c como random, sabemos que random nos da valores entre 0 y 1
// con esto podemos definir que cuando el valor sea menor o mayor a, el color cambia a 'pink' o 'blue'
let c = random();
// si c es menor que 0,5 se cambia el color a 'pink'
if (c < 0.5) {
capaActual = pink;
// todos los demás valores cambian el color a 'blue'
} else {
capaActual = blue;
}
}
// dibujamos el fondo de color
// para luego limpiarlo con 'clearRiso'
function draw() {
background(255);
clearRiso();
// definimos el tipo de halftoned que queremos y su tamaño
// para poder cambiar el color definimos los parámetros de 'capaActual.image'
// como los que nos entrega p5.riso, que son halftonedImage
let halftoned = halftoneImage(img, "line", 3, 45, 90);
capaActual.image(halftoned, 0, 0);
// finalmente dibujamos el efecto de riso y ya podemos cambiar entre los dos colores con el botón
drawRiso();
}
en resumen, en este parte del código programamos lo siguiente:
capaActual
para poder usarlo para cambiar de color la imagen más adelantemousePressed
, que es randomColor
randomColor
(pink, blue)let c = random();
(valores entre 0 y 1)en las últimas líneas de código definimos los valores del efecto halftoned
y cómo actúa en la imagen. Definimos capaActual
con los efectos de p5.riso para poder cambiarlo de color
// dibujamos el fondo de color
// para luego limpiarlo con 'clearRiso'
function draw() {
background(255);
clearRiso();
// definimos el tipo de halftoned que queremos y su tamaño
// para poder cambiar el color definimos los parámetros de 'capaActual.image'
// como los que nos entrega p5.riso, que son halftonedImage
let halftoned = halftoneImage(img, "line", 3, 45, 90);
capaActual.image(halftoned, 0, 0);
// finalmente dibujamos el efecto de riso y ya podemos cambiar entre los dos colores con el botón
drawRiso();
}
referencias p5.riso: