Adicionar borda à imagem
Adicionar uma borda altera o tamanho da tela da imagem, embora a figura original permaneça intacta dentro dela.
Executar grátis
Esta calculadora recebe a largura e a altura originais em pixels, aplica a mesma espessura de borda em cima, à direita, embaixo e à esquerda e retorna as dimensões externas exatas. Ela também mantém a cor informada no resultado, permitindo que o cálculo acompanhe uma especificação de design, uma tarefa de exportação ou um fluxo automatizado de imagens.
Calcule o tamanho da tela antes de exportar
Uma borda ocupa espaço do lado de fora de cada extremidade da imagem original. Portanto, uma borda de 20 pixels não acrescenta apenas 20 pixels à largura ou à altura: ela soma 20 à esquerda e mais 20 à direita, além de 20 na parte superior e inferior. Informe a largura e a altura originais em pixels, a espessura de um lado da borda e a cor desejada. A calculadora retorna as medidas originais junto com as novas dimensões externas, facilitando a conferência da mudança. Isso é útil antes de abrir um editor de imagens, preparar uma regra de processamento em lote ou reservar espaço em um layout. O cálculo não redimensiona, recorta, estica nem codifica uma imagem. Ele responde apenas à questão dimensional, sem deixar dúvidas sobre uma possível alteração da área do conteúdo original. Uma borda com espessura zero é aceita e mantém as dimensões externas iguais às originais, o que ajuda sistemas a usar um único caminho de cálculo mesmo quando não há borda visível.
Entenda a fórmula da borda
A fórmula é simples e previsível: a largura externa corresponde à largura original mais duas vezes a espessura da borda, enquanto a altura externa corresponde à altura original mais duas vezes essa espessura. A multiplicação por dois representa os dois lados opostos de cada eixo. Por exemplo, uma imagem de 1200 pixels de largura por 800 de altura com uma borda de 24 pixels passa a medir 1248 por 848 pixels. A cor não afeta nenhuma dimensão, mas é devolvida para que códigos posteriores mantenham a configuração visual junto das medidas. A largura e a altura originais precisam ser números inteiros positivos, pois dimensões em pixels descrevem uma tela raster real. A espessura pode ser zero ou um número finito positivo, atendendo tanto a layouts com medidas fracionárias quanto a pixels inteiros comuns. Valores negativos são rejeitados porque descrevem recorte ou geometria interna, e não a adição de uma borda externa. Use um cálculo de recorte separado quando a intenção for remover pixels das extremidades.
Aplique o resultado em design e automação
As dimensões externas retornadas podem ser usadas diretamente no planejamento de layouts, na criação de telas, na validação de arquivos ou em estimativas de armazenamento. Uma pessoa desenvolvedora pode calcular a tela necessária antes de desenhar a imagem original no deslocamento da borda. Uma pessoa de design pode verificar se uma miniatura emoldurada ainda cabe em um cartão fixo ou espaço de marketplace. Uma equipe de produção pode comparar o resultado com o tamanho máximo permitido antes de processar milhares de arquivos. Como a operação usa apenas aritmética determinística, entradas idênticas sempre produzem resultados idênticos, sem solicitações de rede, envio de arquivos, valores aleatórios ou transformações ocultas. A cor fornecida é tratada como um rótulo, sem interpretação ou conversão; assim, códigos hexadecimais, nomes CSS ou tokens próprios continuam intactos após a remoção de espaços externos. O preço da API é US$ 0,002 por solicitação. A resposta mostra medidas originais e externas, tornando os registros claros e evitando confundir a origem com a tela final.
Casos de uso
Prepare uma tela com borda
Calcule as dimensões exatas da tela antes de posicionar a imagem original inalterada dentro de uma nova borda colorida.
Valide imagens para marketplaces
Confira se uma imagem de produto continuará dentro do limite de envio ou layout após receber uma borda uniforme.
Planeje tarefas de imagem em lote
Gere dimensões de saída previsíveis para fluxos automatizados antes de dedicar recursos à renderização de cada imagem.
Perguntas frequentes
Como as novas dimensões são calculadas?
Duas vezes a espessura da borda são adicionadas às duas dimensões, pois a borda aparece em ambos os lados de cada eixo.
Este recurso modifica ou envia minha imagem?
Não. Ele recebe apenas dimensões e configurações da borda e retorna as medidas calculadas sem ler nem alterar um arquivo de imagem.
A espessura da borda pode ser zero?
Sim. Uma borda de espessura zero é válida e retorna dimensões externas iguais às originais.
O que acontece se a espessura for negativa?
A solicitação falha com um erro de entrada inválida, pois um valor negativo descreve remoção ou recuo de espaço, não uma borda externa.
Quais formatos de cor posso informar?
Você pode usar qualquer rótulo de cor não vazio, incluindo um nome CSS, uma notação hexadecimal ou um token do seu fluxo. O valor é preservado, não interpretado.
Quanto custa um cálculo pela API?
Cada solicitação API custa US$ 0,002. O cálculo também funciona no executor do navegador, pois não requer acesso à rede.
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/add-border \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"width":1200,"height":800,"border_width":24,"color":"#1d4ed8"}'const res = await fetch("https://api.kit.forhosting.com/image/add-border", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"width": 1200,
"height": 800,
"border_width": 24,
"color": "#1d4ed8"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/add-border",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"width": 1200,
"height": 800,
"border_width": 24,
"color": "#1d4ed8"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/add-border", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"width":1200,"height":800,"border_width":24,"color":"#1d4ed8"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"width":1200,"height":800,"border_width":24,"color":"#1d4ed8"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/add-border", 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
{
"width": 1200,
"height": 800,
"border_width": 24,
"color": "#1d4ed8"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.add_border",
"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. |