ForHosting KIT · Immagini e foto

Generatore di provini fotografici

La pianificazione di un provino fotografico non dovrebbe richiedere ripetuti tentativi di ridimensionamento.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Inserisca larghezza e altezza in pixel di ogni immagine, insieme alla massima larghezza disponibile: il calcolatore restituisce una griglia pratica con un riquadro uniforme per le miniature. Il risultato indica colonne, righe, dimensioni delle miniature e dimensioni finali del foglio. Il layout accoglie tutte le proporzioni originali, rispetta il limite di larghezza e usa calcoli deterministici che producono sempre lo stesso risultato.

Prepari le dimensioni e il limite di larghezza

Inizi con un record per ciascuna immagine che dovrà comparire nel provino. Ogni record richiede larghezza e altezza in pixel, entrambe espresse come numeri interi positivi. I file non vengono caricati né decodificati: servono soltanto le loro dimensioni. Includa tutte le immagini, perché il numero di record stabilisce quante celle debba avere la griglia, mentre la larghezza e l’altezza massime delle sorgenti definiscono un riquadro comune capace di contenere l’intera raccolta senza ritagli. Imposti quindi max_sheet_width sulla larghezza in pixel disponibile nel documento, nell’esportazione, nel pannello della galleria o nel flusso di stampa. Il calcolatore considera tale valore un limite invalicabile. Non riserva spazio per margini esterni, didascalie, spaziature, bordi o abbondanze di stampa; sottragga prima tali aree se verranno aggiunte da un altro sistema. Un elenco vuoto viene rifiutato, poiché colonne, righe e dimensioni delle miniature non hanno significato senza elementi. Anche misure frazionarie, nulle, negative o non valide vengono respinte, mantenendo prevedibili le pipeline automatiche.

Comprenda come viene scelta la griglia

Il risolutore valuta ogni numero possibile di colonne, da una fino al totale delle immagini. Per ogni candidato calcola le righe necessarie arrotondando per eccesso, divide la larghezza massima del foglio in celle uniformi con larghezza intera e ricava l’altezza corrispondente dall’inviluppo delle dimensioni originali. Si ottiene così un riquadro omogeneo adatto al posizionamento contain: il renderer scala proporzionalmente ogni immagine finché entra nella cella, eventualmente lasciando spazio libero su un asse, ma senza richiedere ritagli. Il risolutore confronta poi larghezza e altezza del foglio risultante e sceglie il candidato più vicino a un quadrato. Un foglio compatto ed equilibrato è di solito più facile da consultare ed evita la striscia estrema a colonna singola prodotta dalla sola massimizzazione delle miniature. Se due candidati sono ugualmente quadrati, prevale quello con una maggiore area della miniatura; in caso di ulteriore parità, vince quello con meno colonne. La larghezza della miniatura non supera quella della sorgente più ampia, evitando ingrandimenti inutili. Tutti i calcoli adottano pixel interi e criteri di spareggio deterministici.

Utilizzi il risultato in un renderer

La risposta contiene count, columns, rows, thumbnail_size, sheet_size, max_sheet_width e la modalità fit. Crei una tela con sheet_size.width e sheet_size.height, quindi collochi l’elemento di indice i nella colonna corrispondente a i modulo columns e nella riga pari alla parte intera di i diviso columns. Ogni cella usa la larghezza e l’altezza restituite per la miniatura. Scali la sorgente con un’operazione contain, la centri nella cella se opportuno e ne conservi le proporzioni originali. Poiché l’ultima riga può essere incompleta, il renderer può lasciare vuote le celle finali oppure centrare tale riga; la tela calcolata mantiene intenzionalmente una geometria rettangolare semplice. Il risultato esclude spaziature e didascalie. Per aggiungere, ad esempio, dieci pixel tra le celle, riservi prima la larghezza complessiva degli spazi oppure riduca uniformemente le dimensioni restituite. L’endpoint è adatto sia all’uso interattivo sia ai processi ripetibili: lo stesso input produce lo stesso output, non vengono effettuate richieste di rete e il contenuto visivo non viene esaminato. L’uso tramite API costa $0.002 per richiesta, mentre il browser può eseguire localmente lo stesso calcolo puro.

Pianificare un foglio di prove fotografiche

Scelga una griglia equilibrata entro una larghezza fissa prima di caricare o ridimensionare le fotografie originali.

Creare l’anteprima di una raccolta multimediale

Trasformi i metadati salvati in colonne, righe e dimensioni di cella deterministiche per una galleria.

Preparare pagine riepilogative di dataset

Disponga campioni verticali, orizzontali e quadrati in riquadri contain uniformi senza ritagli.

Quanto costa?

L’esecuzione tramite API costa $0.002 per richiesta. Il calcolo può anche essere svolto gratuitamente e in locale nel browser.

Le immagini vengono ridimensionate o unite?

No. Vengono restituiti soltanto i valori del layout; il renderer esegue il ridimensionamento e la composizione effettivi.

Le immagini verticali e orizzontali verranno ritagliate?

Non occorre ritagliarle. La dimensione della miniatura è un riquadro pensato per il posizionamento contain proporzionale.

Spaziature, didascalie e margini sono inclusi?

No. Riservi lo spazio per distanze, etichette, bordi, margini o abbondanze prima di indicare la larghezza massima.

Perché un elenco di immagini vuoto produce un errore?

Una griglia senza elementi non ha un numero utile di righe né una dimensione utile delle miniature, quindi viene rifiutata esplicitamente.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/image/contact-sheet-layout

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/image/contact-sheet-layout \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"images":[{"width":1600,"height":900},{"width":1200,"height":1600},{"width":2048,"height":1365},{"width":800,"height":800},{"width":1920,"height":1080}],"max_sheet_width":1200}'
{
  "images": [
    {
      "width": 1600,
      "height": 900
    },
    {
      "width": 1200,
      "height": 1600
    },
    {
      "width": 2048,
      "height": 1365
    },
    {
      "width": 800,
      "height": 800
    },
    {
      "width": 1920,
      "height": 1080
    }
  ],
  "max_sheet_width": 1200
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.contact_sheet_layout",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_mb15
max_megapixels12
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →