Ridimensionare la tela con margini, senza ritagliare
Ridimensioni la tela di un’immagine con margini quando la figura deve mantenere le dimensioni originali in pixel.
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
Indichi larghezza e altezza dell’immagine, le dimensioni maggiori della tela di destinazione e il colore di sfondo. Il calcolatore restituisce il margine esatto su ciascun lato e la posizione dell’angolo superiore sinistro nella nuova tela. Non ritaglia, allunga o ricampiona mai l’originale. Se una dimensione di destinazione è troppo piccola per contenere l’immagine, la richiesta non riesce invece di modificare l’opera senza avvertire.
Estenda la tela preservando ogni pixel originale
Ridimensionare la tela e scalare un’immagine risolvono problemi differenti. La scalatura cambia il numero di pixel occupati dalla figura e può attenuare i dettagli, alterare dimensioni preparate con cura o violare un requisito di produzione. Questo calcolatore lascia invariati larghezza e altezza dell’immagine. Sottrae tali dimensioni dalla tela richiesta e descrive l’area vuota da aggiungere intorno all’originale. È utile quando una foto di prodotto, un’illustrazione, una schermata o una risorsa generata ha già la misura corretta, ma richiede una cornice più grande. Inserisca dimensioni intere positive in pixel e il colore di sfondo da usare nell’operazione successiva. Il risultato ripete le dimensioni, indica i margini superiore, destro, inferiore e sinistro e fornisce le coordinate x e y da cui parte l’immagine. Nessun file viene caricato o decodificato, perché il calcolo dipende esclusivamente dalla geometria.
Comprenda la centratura quando i pixel residui sono dispari
La centratura perfetta è immediata quando la differenza tra tela e immagine è pari. Per esempio, 400 pixel orizzontali aggiuntivi producono 200 pixel a sinistra e 200 a destra. Una differenza dispari non può essere divisa in due metà espresse con pixel interi. In quel caso il calcolatore assegna la parte minore a sinistra o in alto e il pixel aggiuntivo a destra o in basso. Una differenza orizzontale di 401 diventa quindi 200 pixel a sinistra e 201 a destra. Questa convenzione mantiene deterministica la posizione ed evita coordinate frazionarie non rappresentabili dagli strumenti raster. Il valore image_position coincide con i margini sinistro e superiore, quindi può essere passato direttamente a numerose API di disegno, composizione o riga di comando. Sommando margine, immagine e margine si ricostruiscono sempre le dimensioni esatte della tela, agevolando la validazione automatica.
Convalidi la destinazione prima di creare il flusso di immagini
La tela di destinazione deve essere larga e alta almeno quanto l’immagine originale. Soddisfare una sola condizione non basta: una tela larga ma bassa ritaglierebbe ancora in verticale, mentre una alta ma stretta ritaglierebbe in orizzontale. Il calcolatore rifiuta entrambi i casi con un errore di input non valido, rendendo visibile un ritaglio accidentale già durante la pianificazione. Dimensioni uguali sono valide e restituiscono margini pari a zero sui quattro lati, soluzione utile quando un flusso accetta risorse miste e alcune corrispondono già alla destinazione. Il colore di sfondo è trattato intenzionalmente come stringa non vuota, senza imporre una sintassi specifica. Può usare un colore esadecimale, un valore CSS, un nome o un token come transparent, purché il processore successivo lo comprenda. Usi la risposta per configurare l’estensione della tela. L’API costa $0.002 per richiesta e lo stesso input genera sempre lo stesso risultato.
Casi d'uso
Uniformare le tele delle foto prodotto
Centri un’immagine di prodotto già dimensionata su una tela uniforme da catalogo senza ingrandire né ritagliare l’articolo.
Preparare grafiche social in sicurezza
Calcoli il bordo necessario intorno a una grafica finita prima di esportarla nella tela più grande di una piattaforma.
Configurare un flusso di immagini
Converta le dimensioni di origine e destinazione in scostamenti esatti per una successiva estensione della tela.
Domande frequenti
Lo strumento ridimensiona o ricampiona l’immagine?
No. Conserva le dimensioni fornite e calcola soltanto l’area aggiuntiva della tela intorno all’immagine.
Che cosa accade se la tela di destinazione è più piccola?
La richiesta restituisce un errore di input non valido se una dimensione di destinazione è inferiore a quella corrispondente dell’immagine.
Dove va il pixel extra quando il margine è dispari?
Il pixel aggiuntivo viene assegnato a destra o in basso; sinistra e alto ricevono la metà intera minore.
Quali formati di colore di sfondo sono supportati?
Il calcolatore accetta qualsiasi stringa di colore non vuota e la restituisce senza spazi esterni. Lo strumento successivo ne valuta la sintassi.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Il calcolo usa solo dimensioni e testo del colore, non il file immagine.
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/canvas-resize-pad \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image_width":1200,"image_height":800,"canvas_width":1600,"canvas_height":1000,"background_color":"#ffffff"}'const res = await fetch("https://api.kit.forhosting.com/image/canvas-resize-pad", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image_width": 1200,
"image_height": 800,
"canvas_width": 1600,
"canvas_height": 1000,
"background_color": "#ffffff"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/canvas-resize-pad",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image_width": 1200,
"image_height": 800,
"canvas_width": 1600,
"canvas_height": 1000,
"background_color": "#ffffff"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/canvas-resize-pad", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image_width":1200,"image_height":800,"canvas_width":1600,"canvas_height":1000,"background_color":"#ffffff"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image_width":1200,"image_height":800,"canvas_width":1600,"canvas_height":1000,"background_color":"#ffffff"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/canvas-resize-pad", 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
{
"image_width": 1200,
"image_height": 800,
"canvas_width": 1600,
"canvas_height": 1000,
"background_color": "#ffffff"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.canvas_resize_pad",
"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. |