Caricare file esterni in Processing
In tutti gli esempi visti finora abbiamo sempre utilizzato le funzioni interne di Processing per disegnare qualcosa sullo schermo. È possibile, ovviamente, caricare all'interno dei nostri sketch file esterni in vari formati come, ad esempio, font, immagini, file vettoriali, suoni e altro.
Dati gli argomenti che affronteremo a breve, è importante capire come effettuare questa operazione nel modo corretto per evitare di incorrere in problemi soprattutto quando distribuiamo i nostri programmi ad altre persone.
La prima regola fondamentale che dobbiamo sempre tenere a mente è che prima di poter essere utilizzati, i file devono essere caricati dal nostro sketch. Questo avviene ogni volta che lanciamo il programma.
Processing è in grado di caricare file che:
- si trovano all'interno della cartella dello sketch
- si trovano in una cartella qualsiasi sul computer
- si trovano su un server accessibile via internet.
Ciascuna di queste situazioni presenta dei pro e dei contro e non esiste una soluzione che possa andare bene in tutti i casi. La prima opzione è, però, quella più comune.
Tutti i file esterni sono generalmente inseriti in una cartella chiamata data che troviamo all'interno della cartella dello sketch.
Aggiungere file dal menu
Cliccando sul menu Sketch > Add File... si aprirà una finestra di dialogo dove andremo a selezionare il file da inserire.
Drag and drop
La seconda opzione, forse la più comoda, permette di trascinare uno o più file direttamente nella finestra di processing.
Aggiunta manuale
Oppure è possibile aggiungere i file manualmente aprendo la cartella dello sketch dal menu Sketch > Show Sketch Folder, scorciatoia ⌘+K, creando una cartella data (se non esiste) e copiando direttamente i file all'interno di essa.
Consigli
Quando andremo a caricare il o i file è buona regola specificare l'estensione, ad esempio "file.txt" e fare attenzione all'uso delle lettere maiuscole: se il file si chiama immagine.jpg provare a caricare Immagine.jpg, immAgine.jpg o immagine.JPG genererà sempre un errore.
Per rendere il contenuto del file disponibile all'interno dell'interno programma, normalmente si crea una variabile globale al di fuori dei cicli di setup() e draw() come avevo spiegato qui nel paragrafo scopo delle variabili.