Generi dimensioni per miniature mantenendo le proporzioni
Questo generatore trasforma le dimensioni di un’immagine sorgente in un insieme pronto all’uso di misure per miniature.
Esegui gratis nel browser
Inserisca larghezza e altezza originali, aggiunga tutte le larghezze di output necessarie e riceverà le altezze corrispondenti nello stesso ordine. Ogni altezza viene ricavata dalle proporzioni della sorgente e arrotondata al pixel intero più vicino. È utile per pianificare immagini responsive, documentare requisiti multimediali, preparare operazioni di ridimensionamento e mantenere calcoli coerenti in un gruppo di lavoro o in un flusso automatizzato.
Parta dall’immagine sorgente e dalle larghezze necessarie
Inserisca la larghezza e l’altezza originali come numeri interi positivi espressi in pixel. Fornisca quindi un elenco contenente almeno una larghezza di destinazione. Il calcolatore accetta fino a cento larghezze per richiesta, sufficienti per serie dettagliate di immagini responsive, preimpostazioni di sistemi di gestione dei contenuti o elenchi di risorse per marketplace, senza creare un’attività priva di limiti. L’ordine è significativo: i risultati compaiono nella stessa sequenza delle larghezze richieste e le ripetizioni vengono mantenute. In questo modo Lei può associare facilmente la risposta a un elenco esistente di breakpoint o di operazioni di esportazione. Quando possibile, utilizzi le dimensioni effettive in pixel anziché un rapporto semplificato. Una fotografia di 4032 per 3024 e un rapporto di 4 per 3 descrivono la stessa forma, ma le misure reali rendono la richiesta più chiara e riducono il rischio di invertire larghezza e altezza. Ogni dimensione deve essere un intero positivo. Zero, valori negativi, decimali, stringhe, misure mancanti, elenchi vuoti ed elenchi oltre il limite vengono rifiutati.
Comprenda come viene calcolata ogni altezza
Per ciascuna larghezza di destinazione, il calcolatore moltiplica tale valore per l’altezza originale e divide il risultato per la larghezza originale. Applica così un unico fattore di scala a entrambi gli assi, conserva le proporzioni della sorgente ed evita che l’immagine risulti allungata o schiacciata. Poiché le dimensioni in pixel devono essere intere, ogni altezza calcolata viene arrotondata all’intero più vicino secondo la regola standard di JavaScript. Per esempio, una sorgente di 1920 per 1080 richiesta con una larghezza di 800 pixel produce un’altezza di 450 pixel. Alcuni rapporti e alcune larghezze generano altezze frazionarie; l’arrotondamento può creare una differenza minima rispetto al rapporto visualizzato, inevitabile per un output raster. La risposta include le dimensioni sorgente, il rapporto numerico tra larghezza e altezza e un record per ogni larghezza richiesta. Questa capacità calcola soltanto le dimensioni: non scarica, esamina, ritaglia, comprime, migliora né ridimensiona immagini e non garantisce che l’ingrandimento di una sorgente piccola offra una qualità visiva accettabile.
Utilizzi il risultato nei flussi responsive e automatizzati
L’array di miniature restituito può alimentare una coda di elaborazione delle immagini, uno script di build, una consegna di design o la configurazione di un sistema di gestione dei contenuti. Un gruppo frontend può richiedere larghezze corrispondenti ai breakpoint del layout e usare le altezze calcolate per riservare spazio prima del caricamento delle immagini. Un gruppo editoriale può archiviare i record accanto alla risorsa multimediale, affinché chi modifica i contenuti conosca le dimensioni esatte da produrre con un altro strumento. Un’integrazione API può prima generare e convalidare il piano, quindi inviare ogni record a un servizio di trasformazione. Poiché l’algoritmo è deterministico e non utilizza rete, valori casuali o l’ora corrente, lo stesso input valido restituisce sempre lo stesso output. Tenga presente che lo strumento conserva l’intera forma della sorgente; non crea ritagli a rapporto fisso, come avatar quadrati o schede social. Se la destinazione richiede larghezza e altezza esatte con proporzioni diverse, scelga un flusso di ritaglio. Il prezzo dell’API è $0.002 per richiesta, indipendentemente dal numero consentito di larghezze incluse.
Casi d'uso
Pianificare una serie di immagini responsive
Calcoli le altezze corrispondenti a ogni breakpoint prima di generare le varianti srcset.
Definire le miniature preimpostate nel CMS
Trasformi il rapporto di una risorsa e un elenco editoriale di larghezze in dimensioni intere coerenti.
Preparare ridimensionamenti in serie
Crei un piano ordinato di dimensioni eseguibile da un altro strumento senza ripetere i calcoli delle proporzioni.
Domande frequenti
Quanto costa?
L’API costa $0.002 per richiesta e il calcolatore può essere eseguito anche nel browser.
Come viene calcolata ogni altezza?
Ogni larghezza di destinazione viene moltiplicata per l’altezza sorgente e divisa per la larghezza sorgente, quindi arrotondata al pixel intero più vicino.
Questo strumento ridimensiona l’immagine?
No. Restituisce soltanto un piano di dimensioni; non legge, carica, ritaglia né trasforma i pixel dell’immagine.
Posso inviare un elenco vuoto di larghezze?
No. È richiesta almeno una larghezza di destinazione; un elenco vuoto restituisce un errore di input non valido.
Le larghezze di destinazione duplicate vengono eliminate?
No. L’ordine di inserimento e i duplicati vengono conservati, così ogni risultato corrisponde direttamente all’elenco richiesto.
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/image/thumbnail-set \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1920,"height":1080,"target_widths":[1200,800,320]}'const res = await fetch("https://api.kit.forhosting.com/image/thumbnail-set", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1920,
"height": 1080,
"target_widths": [
1200,
800,
320
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/thumbnail-set",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1920,
"height": 1080,
"target_widths": [
1200,
800,
320
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/thumbnail-set", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1920,"height":1080,"target_widths":[1200,800,320]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1920,"height":1080,"target_widths":[1200,800,320]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/thumbnail-set", 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
{
"width": 1920,
"height": 1080,
"target_widths": [
1200,
800,
320
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.thumbnail_set",
"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 | 15 |
max_megapixels | 12 |
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. |