Calcolo delle bande letterbox in pixel per video
Questo calcolatore di bande letterbox trasforma due rapporti d’aspetto e l’altezza del canvas in misure utilizzabili per le Sue composizioni video.
Esegui gratis nel browser
Inserisca il rapporto della sorgente, quello del canvas di destinazione e l’altezza. Il risultato indica se le bande vanno sopra e sotto l’immagine oppure a sinistra e a destra, quindi riporta la dimensione di ciascuna banda uguale. Se i rapporti coincidono, restituisce correttamente zero perché la sorgente riempie già il canvas senza ritagli né margini.
Parta dai rapporti della sorgente e del canvas
Un rapporto d’aspetto descrive la larghezza rispetto all’altezza, quindi 16:9 e 1.777777 rappresentano la stessa forma. Indichi il rapporto dell’immagine che desidera preservare e quello del canvas finale. L’altezza del canvas stabilisce la scala effettiva in pixel, mentre la larghezza viene ricavata dal rapporto di destinazione. Il calcolatore accetta W:H, W/H oppure un decimale positivo e può essere usato con formati comuni come 4:3, 16:9, 21:9 e 2.39:1. Se conosce l’apertura di visualizzazione esatta, la preferisca a una denominazione commerciale approssimativa. Alcuni formati chiamati 21:9, per esempio, hanno valori numerici leggermente diversi e ad alte risoluzioni anche piccole differenze possono generare bande visibili. Tutte le dimensioni devono essere positive e finite e l’altezza deve essere un numero intero di pixel. Se i rapporti sono uguali, non serve alcun margine: ogni dimensione delle bande vale zero, senza errore.
Distingua le bande orizzontali da quelle laterali
La sorgente viene adattata interamente al canvas senza deformazioni e senza eliminare contenuto. Quando è più larga del canvas di destinazione, la sua larghezza raggiunge per prima i bordi. L’altezza adattata è quindi inferiore a quella del canvas e lo spazio libero viene diviso in parti uguali sopra e sotto l’immagine. Il risultato definisce questa disposizione top_bottom e indica l’altezza di ciascuna banda. Se la sorgente è più stretta, raggiunge prima i limiti verticali e rimane spazio orizzontale. Questo spazio viene distribuito a sinistra e a destra, generando l’orientamento left_right e la larghezza di ogni banda laterale. Il caso è spesso chiamato pillarbox, ma entrambi usano lo stesso calcolo di adattamento. Il campo bar_size_pixels contiene sempre la dimensione di una sola banda, non la somma dei margini. I campi dedicati ai quattro lati rendono l’output inequivocabile per il codice di layout.
Usi il risultato nel montaggio e nel rendering
Utilizzi le dimensioni restituite per preparare sovrimpressioni, fotogrammi di anteprima, master codificati, proiezioni o composizioni CSS e canvas. Quando la geometria non produce pixel interi, il calcolatore conserva il valore frazionario e lo arrotonda in modo deterministico a sei decimali. Uno strumento che richiede coordinate intere deve applicare una propria regola, perché arrotondare separatamente le due bande può cambiare di un pixel la dimensione finale. In un flusso raster può arrotondare un bordo per difetto e assegnare il pixel restante al lato opposto; i layout vettoriali o Web spesso conservano la frazione. Il calcolo presume un adattamento contain centrato: preserva tutta la sorgente, non ritaglia e distribuisce margini uguali sui lati opposti. Non considera pixel anamorfici, metadati di rotazione, overscan o aree sicure; li converta prima in un rapporto di visualizzazione effettivo. L’automazione tramite API costa $0.002 per richiesta.
Casi d'uso
Preparare un video cinematografico per un quadro standard
Calcoli margini superiori e inferiori uguali prima di inserire una sorgente ampia in un canvas di consegna 16:9.
Creare un master d’archivio con bande laterali
Trovi la larghezza delle bande sinistra e destra necessaria a conservare un vecchio filmato 4:3 in un quadro panoramico moderno.
Posizionare elementi fuori dall’immagine attiva
Riservi bande di dimensioni note a sottotitoli, etichette o controlli senza coprire la sorgente adattata.
Domande frequenti
Che cosa accade se i due rapporti d’aspetto sono uguali?
Il risultato usa l’orientamento none e restituisce zero per ogni dimensione, perché non occorre alcuna banda.
bar_size_pixels indica una banda o la somma di entrambe?
Indica una sola banda. Le bande opposte sono uguali e i campi dei lati mostrano separatamente ciascun valore.
Perché il risultato può contenere una frazione di pixel?
La geometria dei rapporti non produce sempre pixel interi. Il valore preciso viene mantenuto affinché il Suo renderer scelga l’arrotondamento.
Il calcolo ritaglia o deforma la sorgente?
No. Usa un adattamento contain centrato che conserva l’intera sorgente e le proporzioni originali.
Quanto costa un calcolo tramite API?
Ogni richiesta API costa $0.002. Il calcolo è deterministico e non carica né esamina file video.
Per sviluppatori — accesso via API
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.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"source_aspect_ratio":"21:9","target_aspect_ratio":"16:9","canvas_height":1080}'const res = await fetch("https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"source_aspect_ratio": "21:9",
"target_aspect_ratio": "16:9",
"canvas_height": 1080
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"source_aspect_ratio": "21:9",
"target_aspect_ratio": "16:9",
"canvas_height": 1080
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"source_aspect_ratio":"21:9","target_aspect_ratio":"16:9","canvas_height":1080}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"source_aspect_ratio":"21:9","target_aspect_ratio":"16:9","canvas_height":1080}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video2/aspect-ratio-letterbox-bars-size", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"source_aspect_ratio": "21:9",
"target_aspect_ratio": "16:9",
"canvas_height": 1080
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video2.aspect_ratio_letterbox_bars_size",
"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.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |