I cubetti

Minipuzzle con cubetti
Il prototipo di un cubetto per il puzzle

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.

Esploso di un cubetto
Inizio pagina
 
Precedente
Sommario
Successivo