Ritagliare un'immagine in proporzione
Ritagliare un’immagine con proporzioni precise sembra facile, ma il calcolo può risultare errato.
Esegui gratis nel browser
Questo strumento riceve larghezza e altezza della sorgente insieme a un rapporto come 16:9, quindi restituisce il rettangolo più grande con quella forma che può essere contenuto nell’immagine. Il ritaglio è centrato e rimuove quantità uguali dai lati opposti. Nessun file viene caricato o trasformato: il risultato è un insieme di coordinate riutilizzabile in editor, script, pipeline grafiche e layout adattivi.
Trasformi dimensioni e proporzioni in un rettangolo di ritaglio
Inserisca larghezza e altezza dell’immagine in pixel, poi indichi il rapporto desiderato come larghezza rispetto all’altezza, separando i valori con i due punti. Tra le scelte comuni figurano 1:1 per miniature quadrate, 4:3 per fotografia tradizionale, 16:9 per contenuti panoramici e 9:16 per storie verticali. Il calcolatore confronta il rapporto della sorgente con quello richiesto per individuare la dimensione già adatta. Se la sorgente è troppo larga, conserva l’intera altezza e riduce la larghezza. Se è troppo alta, conserva l’intera larghezza e riduce l’altezza. I valori x e y identificano l’angolo superiore sinistro, mentre width e height descrivono le dimensioni. Insieme formano un riquadro completo. Poiché viene cercato il rettangolo più grande, non si spreca area riducendo entrambe le dimensioni. Non avvengono ricampionamento, stiramento o aggiunta di bordi: viene descritta soltanto la regione centrale da conservare.
Comprenda centratura e coordinate frazionarie
Un ritaglio centrato rimuove la stessa quantità da ciascuno dei due bordi opposti. Quando un’immagine orizzontale deve diventare più stretta, x è metà della larghezza eliminata e y è zero. Quando un’immagine verticale o quadrata deve perdere altezza, y è metà dell’altezza eliminata e x è zero. Alcune combinazioni generano coordinate o dimensioni decimali. È un risultato matematicamente corretto: il centro esatto o la proporzione esatta possono cadere tra pixel fisici. Molte librerie accettano geometrie decimali o applicano un proprio campionamento durante il rendering. Se la libreria scelta richiede interi, Lei può applicare alla fine la regola di arrotondamento documentata, sapendo che il rettangolo in pixel potrebbe discostarsi leggermente dal rapporto preciso. Conservare valori accurati evita politiche nascoste e rende il risultato deterministico nel browser, nell’API e nelle automazioni.
Usi il risultato in sicurezza nel flusso grafico
Consideri la risposta come geometria, non come immagine modificata. Passi x, y, width e height alla funzione di ritaglio della libreria grafica, dello strumento a riga di comando, della routine canvas o del servizio multimediale scelto. Verifichi se la destinazione usa l’origine in alto a sinistra: il calcolatore segue la convenzione comune in cui x aumenta verso destra e y verso il basso. Controlli le dimensioni del file realmente decodificato anziché fidarsi di un nome o di metadati provenienti da un’altra versione. Il rapporto deve contenere esattamente due numeri positivi separati da due punti; testo non valido, zeri, negativi e separatori diversi vengono respinti. Questa rigidità protegge le elaborazioni in serie da centinaia di risorse errate. Il calcolo non usa rete, casualità, data o analisi visiva nascosta, quindi input identici restituiscono sempre la stessa geometria, memorizzabile in cache o in un manifesto.
Casi d'uso
Preparare risorse coerenti per i social
Calcoli riquadri centrati 1:1, 4:5 o 9:16 prima di produrre varianti specifiche per ogni canale.
Creare pipeline per miniature
Invii una geometria deterministica al processore affinché ogni riquadro sia pieno senza distorsioni o margini.
Anteprima dei ritagli editoriali
Mostri la massima regione centrale prima che la redazione decida se adattare l’inquadratura al soggetto.
Domande frequenti
Questo strumento ritaglia o carica la mia immagine?
No. Calcola coordinate da dimensioni e rapporto, senza ricevere, archiviare, decodificare o modificare dati grafici.
Quanto costa il calcolo?
Il prezzo dell’API è $0.002 per richiesta. La versione nel browser esegue localmente lo stesso calcolo deterministico.
Perché il risultato può contenere pixel decimali?
Il centro o il rapporto esatto possono cadere tra pixel. La geometria decimale conserva il massimo ritaglio matematico.
Quale sintassi è accettata per il rapporto?
Usi due numeri positivi separati da due punti, come 16:9, 4:3, 1:1 o 1.85:1. Altri separatori e testo aggiuntivo vengono respinti.
Il ritaglio può superare l’immagine sorgente?
No. Una dimensione coincide sempre con la sorgente e l’altra viene ridotta per rispettare la proporzione.
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/crop-to-aspect \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1920,"height":1080,"ratio":"4:3"}'const res = await fetch("https://api.kit.forhosting.com/image/crop-to-aspect", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1920,
"height": 1080,
"ratio": "4:3"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/crop-to-aspect",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1920,
"height": 1080,
"ratio": "4:3"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/crop-to-aspect", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1920,"height":1080,"ratio":"4:3"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1920,"height":1080,"ratio":"4:3"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/crop-to-aspect", 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,
"ratio": "4:3"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.crop_to_aspect",
"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. |