Il concetto che sta dietro questo autoritratto è che il mondo dell’immagine e quello dello script si incontrano-scontrano: l’immagine fissa appartiene alla categoria dell’interazione che possiamo definire passiva (un livello interiore), mentre lo script è attivo, dinamico, creato appositamente per interagire (un possibile autoritratto interattivo).
Lo script è crisi in quanto apre le porte ad un nuovo modo di rappresentare, ma allo stesso tempo l’immagine è crisi per lo script (tornando all’autoritratto) perché lo limita, lo confina ad una mera sequenza statica di pixel.
L’immagine è stata completamente creata con Processing, un software di scripting che opportunamente settato permette la modica e il salvataggio di immagini raster.
Lo script elabora i pixel di una immagine b/n su sfondo bianco: quando sono bianchi, scrive a video il codice sorgente con colore verde, altrimenti scrive “crisi script” assegnando il colore del pixel corrispondente ad ogni lettera.
[DDET Vedi il codice sorgente]
PImage img; //Inizializza l'immagine
String scritta[]; //Definizione della stringa
String scritta2=("crisi script ");
void setup() {
img = loadImage("Immagine.jpg"); //Carica immagine
size(img.width, img.height); //Dim. Finestra con dim. immagine
textSize(6); //Dimensione testo a video
scritta=loadStrings("Script.txt"); //Carica file di testo nella stringa
}
void draw() {
background(255); //Sfondo
loadPixels(); //Carica pixel
img.loadPixels(); //Carica pixel immagine
for (int y = 0, h=0; (y < img.height && h < scritta.length) || (y < img.height && h==scritta.length); y+=textAscent(), h++) { //Ciclo For Verticale: Ad ogni ciclo aumenta della dimensione del testo fino a fine altezza img & fine testo
if (h==scritta.length) // Se la riga è l'ultima
h=0; //Ricarica il testo
for (int x = 0, g=0, i=0; x < img.width; x++, g++,i++){ //Ciclo For Orizzontale: fino a fine larghezza img
int loc = x + y*width; //Localizza la posizione del pixel
color c=img.pixels[loc]; //Carica in memoria il colore del pixel
if ( c==color(255) && g
[/DDET]