I cubetti
Avete mai giocato con quei cubetti con i quali si formano le immagini se disposti nel modo giusto, anzi 6 foto diverse?
Ho ripreso l'idea raccogliendo la sfida della collettiva per il Semplicemente Fotografare Live 2022:
Non una collettiva appesa a un muro, non una semplice bella sequela di fotografie. Anche perché a Dozza gli spazi per appendere foto sono come sapete limitati.
Pensiamo a un piano, e su quel piano d’appoggio un vasto mare e le nostre foto come isole felici. Pensiamo a piccole stampe, 10x15 circa, B/N o colore, come più ci piace…. Pensiamo a un montaggio che le renda piccole opere tridimensionali.
Che ogni visitatore può prendere in mano, osservare da vicino.
...
Pensiamo foto in un barattolo, a carte visite con due facciate , come un libricino aperto, da una parte la foto, dall'altra il testo.
Pensiamole a fisarmonica, piegate a barchetta, ad aeroplanino, a cubo, a piramide, stand up, in mille altri possibili.
Stile Art Attack, torniamo a stupirci e stupire, torniamo bambini.
Il programma Cubetti permette di creare un kit per l'assemblaggio dei cubetti di un puzzle.
Date 6 immagini se ne otterranno tante quanti sono i cubetti nel puzzle, da stampare su un cartoncino, piegare e incollare.
In questo caso non si tratta di Carte de Visite, ma era molto comodo sfruttare la piattaforma già esistente.
Il programma chiamato con il parametro -h o --help mostra la sintassi di utilizzo, come riportato di seguito:
Casasoft Contemporary Carte de Visite Cubetti Copyright (c) 2020-2023 Roberto Ceccarelli - Casasoft Usage: Cubetti [options]* inputfiles Options: -r, --rows=VALUE set the number of rows of the output matrix ( default 2) -c, --columns=VALUE set the number of columns of the output matrix ( default 2) -s, --size=VALUE set the size of each cube (default 50mm) --paper=VALUE Output paper size: Large 20x27cm Medium (default) 15x20cm A4 210x297mm --sample generate sample images --fillcolor=VALUE set the color used to fill the images (default #FFFFFF) --bordercolor=VALUE set the color used to border the images (default #000000) --dpi=VALUE set output resolution (default 300) --json=VALUE parameters in json format, use --helpjson for sample template Text can be stored in a file instead of a string The file must be referenced as '@filename' --script=VALUE c# script for custom processing, use --helpscript for sample template Text can be stored in a file instead of a string The file must be referenced as '@filename' -o, --output=VALUE set output dir/filename --extension=VALUE file extension for output file (default 'jpg') --tag=VALUE extra info for user scripts Text can be stored in a file instead of a string The file must be referenced as '@filename' --nobanner suppress the banner -h, --help show this message and exit --helpjson show json parameters template --helpscript show script template --man show the man page source and exit --colors list available colors by name --license show program license (AGPL 3.0) Colors can be written in any of these formats: #rgb #rrggbb #rrggbbaa #rrrrggggbbbb #rrrrggggbbbbaaaa colorname (use Cubetti --colors to see all available colors) Environment variables The program can read values from these variables: CDV_OUTPATH Base path for output files CDV_DPI Resolution for output files CDV_FILL Color used to fill images CDV_BORDER Border color
Per chi la preferisse è anche disponibile la man page (Nuova pagina) Unix
La man page, in formato MarkDown, può essere ottenuta chiamando il programma con l'opzione --man
I parametri possono essere passati in un file in formato json le cui struttura può essere ottenuta con il comando Cubetti --helpjson il cui output è riportato di seguito:
Casasoft Contemporary Carte de Visite Cubetti Copyright (c) 2020-2023 Roberto Ceccarelli - Casasoft Json parameters template for: Cubetti { "Rows": 2, "Columns": 3, "Size": 50, "Paper": null, "FillColor": "#FFFFFF", "BorderColor": "#000000", "Dpi": 300, "OutputName": "", "Extension": "jpg", "Script": null, "Tag": null, "FilesList": [] }
Al programma deve essere passati 6 file contenenti le immagini da riportare sui lati dei cubetti.
Le dimesioni del puzzle risultante dipendono da tre parametri:
- -c oppure --columns, che indica il numero delle colonne nella griglia (per default 3)
- -r oppure --rows, che indica il numero delle righe nella griglia (per default 2)
- -s oppure --size, che indica la dimensione dello spigolo di ogni cubetto in millimetri (per default 50)
L'opzione --dpi= (non esiste forma breve) specifica la risoluzione, in dpi, del file di uscita.
Se non indicata viene impostata a 300dpi.
L'opzione -o, o la versione lunga --output=, permette di specificare il pathname (senza estensione) del file generati: se non specificata il file si chiameranno cubesnnofmm.jpg e si troveranno nella stessa directory del programma.
Verrà generato un file per ogni cubetto.
Per default viene impostato come formato un cartoncino 15x20, ma con il parametro --paper=Large si può scegliere il 20x27 oppure con --paper=A4 un foglio A4.
Attraverso gli script utente è comunque possibile utilizzare qualsiasi altro formato in uscita; come per gli altri programmi con il comando Cubetti --helpscript si può ottenere un template, riportato di seguito, per scrivere i propri comandi personalizzati.
Casasoft Contemporary Carte de Visite Cubetti Copyright (c) 2020-2023 Roberto Ceccarelli - Casasoft ----- // Script template for Cubetti /// <summary> /// Custom class initialization /// </summary> public void Init() { } /// <summary> /// Image for final output /// </summary> /// <returns></returns> public MagickImage OutputImage() => null; /// <summary> /// Preprocesses the loaded image /// </summary> /// <param name="image">The loaded image</param> /// <returns>The Processed image</returns> public MagickImage ProcessOnLoad(MagickImage image) => image; -----
Questa immagine mostra un esempio del risultato ottenibile.