Redimensionar tela com preenchimento
Redimensione a tela de uma imagem com preenchimento quando a figura precisar manter as dimensões originais em pixels.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Informe a largura e a altura da imagem, as dimensões maiores da tela de destino e a cor de fundo. A calculadora retorna o preenchimento exato de cada lado e a posição superior esquerda da imagem na nova tela. Ela nunca corta, estica nem reamostra a fonte. Se qualquer dimensão de destino for pequena demais para conter a imagem, a solicitação falhará em vez de alterar a arte silenciosamente.
Amplie a tela preservando cada pixel da origem
Redimensionar a tela e escalar a imagem resolvem problemas diferentes. A escala muda a quantidade de pixels ocupada pela figura, o que pode suavizar detalhes, alterar dimensões preparadas com cuidado ou desrespeitar uma exigência de produção. Esta calculadora mantém a largura e a altura da imagem intactas. Ela subtrai essas dimensões da tela solicitada e descreve a área vazia que precisa ser acrescentada ao redor da origem. Isso é útil quando uma foto de produto, ilustração, captura de tela ou recurso gerado já está no tamanho correto, mas precisa de uma moldura maior. Informe dimensões inteiras positivas em pixels e a cor de fundo que a operação posterior deverá usar. O resultado repete as dimensões, apresenta o preenchimento superior, direito, inferior e esquerdo e fornece as coordenadas x e y do início da imagem. Nenhum arquivo é enviado ou decodificado, pois o cálculo depende somente da geometria.
Entenda a centralização quando os pixels restantes são ímpares
A centralização perfeita é simples quando a diferença entre a tela e a imagem é par. Por exemplo, 400 pixels horizontais adicionais geram 200 à esquerda e 200 à direita. Uma diferença ímpar não pode ser dividida em duas metades com pixels inteiros. Nesse caso, a calculadora coloca a parte menor à esquerda ou em cima e o pixel adicional à direita ou embaixo. Assim, uma diferença horizontal de 401 vira 200 pixels à esquerda e 201 à direita. Essa convenção mantém a posição determinística e evita coordenadas fracionárias que ferramentas rasterizadas não representam. O campo image_position é igual ao preenchimento esquerdo e superior, portanto você pode enviá-lo diretamente a muitas API de desenho, composição ou linha de comando. Somar esquerda, largura e direita sempre recompõe a largura da tela; a soma vertical equivalente sempre recompõe sua altura. Essas propriedades facilitam a validação automática antes do processamento real.
Valide o destino antes de montar o fluxo de imagens
A tela de destino deve ser pelo menos tão larga e tão alta quanto a imagem de origem. Atender a apenas uma condição não basta: uma tela larga, porém baixa, ainda cortaria na vertical; uma tela alta, porém estreita, cortaria na horizontal. A calculadora rejeita os dois casos com um erro de entrada inválida, tornando um corte acidental visível ainda no planejamento. Dimensões iguais são aceitas e retornam preenchimento zero nos quatro lados, o que ajuda quando um fluxo recebe arquivos variados e alguns já correspondem ao destino. A cor de fundo é tratada como uma string não vazia, e não interpretada segundo uma sintaxe específica. Você pode usar uma cor hexadecimal, um valor CSS, um nome ou um token como transparent, desde que o processador posterior o reconheça. Use a resposta para configurar a expansão da tela em sua ferramenta preferida. A API custa US$ 0,002 por solicitação e entradas repetidas geram resultados idênticos.
Casos de uso
Padronizar telas de fotos de produtos
Centralize uma imagem de produto já dimensionada em uma tela uniforme de catálogo sem ampliar nem cortar o item.
Preparar artes sociais com segurança
Calcule a borda necessária ao redor de uma arte pronta antes de exportá-la para uma tela maior de uma plataforma.
Configurar um fluxo de imagens
Converta dimensões de origem e destino em deslocamentos exatos para uma operação posterior de expansão da tela.
Perguntas frequentes
A ferramenta redimensiona ou reamostra a imagem?
Não. Ela preserva as dimensões informadas e calcula somente a área adicional da tela ao redor da imagem.
O que acontece quando a tela de destino é menor?
A solicitação retorna um erro de entrada inválida se qualquer dimensão de destino for menor que a dimensão correspondente da imagem.
Onde fica o pixel extra quando o preenchimento é ímpar?
O pixel adicional vai para a direita ou para baixo; a esquerda e a parte superior recebem a metade inteira menor.
Quais formatos de cor de fundo são aceitos?
A calculadora aceita qualquer string de cor não vazia e a retorna sem espaços externos. A ferramenta posterior determina se a sintaxe é válida.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. O cálculo usa apenas as dimensões e o texto da cor, não o arquivo da imagem.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"image_width": 1200,
"image_height": 800,
"canvas_width": 1600,
"canvas_height": 1000,
"background_color": "#ffffff"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.canvas_resize_pad",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |