Files
SnapOtter/apps/docs/pt-BR/api/image-engine.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

9.0 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Referência das operações do mecanismo de imagem. Todas as operações de processamento de imagem baseadas em Sharp e seus parâmetros. 42febdf85fa8 human b59c814ed63a

Mecanismo de imagem

O pacote @snapotter/image-engine lida com todas as operações de imagem que não são de IA. Ele encapsula o Sharp e roda inteiramente no próprio processo, sem dependências externas.

Operações

resize

Escala uma imagem para dimensões específicas ou por porcentagem.

Parâmetro Tipo Descrição
width number Largura alvo em pixels
height number Altura alvo em pixels
fit string cover, contain, fill, inside ou outside
withoutEnlargement boolean Se verdadeiro, não fará upscale de imagens menores
percentage number Escala por porcentagem em vez de dimensões absolutas

Você pode definir width, height ou ambos. Se definir apenas um, o outro é calculado para manter a proporção.

crop

Recorta uma região retangular da imagem.

Parâmetro Tipo Descrição
left number Deslocamento X a partir da borda esquerda
top number Deslocamento Y a partir da borda superior
width number Largura da área de recorte
height number Altura da área de recorte
unit string px (padrão) ou percent

rotate

Gira a imagem por um ângulo determinado.

Parâmetro Tipo Descrição
angle number Ângulo de rotação em graus (0-360)
background string Cor de preenchimento para a área exposta (padrão: #000000). Aplica-se apenas a ângulos que não sejam de 90 graus.

flip

Espelha a imagem horizontalmente, verticalmente ou ambos. Pelo menos um deve ser verdadeiro.

Parâmetro Tipo Descrição
horizontal boolean Espelhar da esquerda para a direita
vertical boolean Espelhar de cima para baixo

convert

Altera o formato da imagem.

Parâmetro Tipo Descrição
format string Formato alvo: jpg, png, webp, avif, tiff, gif, jxl, heic, heif, bmp, ico, jp2, qoi
quality number Qualidade de compressão (1-100, aplica-se a formatos com perdas)

Os sete primeiros formatos (de jpg a jxl) são codificados pelo Sharp no próprio processo. Os formatos restantes usam codificadores externos na camada da API: heic/heif via heif-enc, bmp/ico via ImageMagick, jp2 via opj_compress e qoi via um codec TypeScript inline.

compress

Reduz o tamanho do arquivo mantendo o mesmo formato.

Parâmetro Tipo Descrição
quality number Qualidade alvo (1-100)
targetSizeBytes number Tamanho de arquivo alvo opcional em bytes
format string Substituição de formato opcional

strip-metadata

Remove metadados EXIF, IPTC, XMP e ICC da imagem. Sem parâmetros (ou com stripAll: true), remove tudo. Passe flags individuais para remoção seletiva.

Parâmetro Tipo Descrição
stripAll boolean Remove todos os metadados (padrão quando nenhuma flag está definida)
stripExif boolean Remove os dados EXIF (incluindo GPS se stripGps não estiver definido separadamente)
stripGps boolean Remove os dados de localização GPS
stripIcc boolean Remove o perfil de cor ICC
stripXmp boolean Remove os metadados XMP

Ajustes de cor

Essas operações modificam as propriedades de cor de uma imagem. Cada uma recebe um único valor numérico.

Operação Parâmetro Intervalo Descrição
brightness value -100 a 100 Ajustar brilho
contrast value -100 a 100 Ajustar contraste
saturation value -100 a 100 Ajustar saturação de cor

Filtros de cor

Estes aplicam uma transformação de cor fixa. Não recebem parâmetros.

Operação Descrição
grayscale Converter para escala de cinza
sepia Aplicar um tom sépia
invert Inverter todas as cores

Canais de cor

Ajusta canais de cor RGB individuais. Os valores são multiplicadores em que 100 = nenhuma alteração.

Parâmetro Tipo Descrição
red number Multiplicador do canal vermelho (0 a 200, 100 = inalterado)
green number Multiplicador do canal verde (0 a 200, 100 = inalterado)
blue number Multiplicador do canal azul (0 a 200, 100 = inalterado)

sharpen

Afiação simples controlada por um único valor.

Parâmetro Tipo Descrição
value number Intensidade da afiação (0 a 100). Mapeada para um sigma gaussiano de 0.5-10.

sharpen-advanced

Afiação avançada com três métodos selecionáveis e um pré-passe opcional de redução de ruído.

Parâmetro Tipo Descrição
method string adaptive, unsharp-mask ou high-pass
sigma number Raio do desfoque gaussiano, 0.5-10 (adaptativo)
m1 number Afiação de área plana, 0-10 (adaptativo)
m2 number Afiação de área texturizada, 0-20 (adaptativo)
x1 number Limiar plano/irregular, 0-10 (adaptativo)
y2 number Clareamento máximo (limite de halo), 0-50 (adaptativo)
y3 number Escurecimento máximo (limite de halo), 0-50 (adaptativo)
amount number Porcentagem de intensidade, 0-500 (unsharp-mask)
radius number Raio de desfoque, 0.1-5.0 (unsharp-mask)
threshold number Brilho mínimo de borda, 0-255 (unsharp-mask)
strength number Força de mesclagem, 0-100 (high-pass)
kernelSize number 3 ou 5 para kernel 3x3 / 5x5 (high-pass)
denoise string Pré-passe de redução de ruído: off, light, medium ou strong

Os parâmetros são específicos de cada método. Forneça apenas os relevantes para o método escolhido.

color-blindness

Simula uma deficiência de visão de cores usando uma matriz 3x3 de recombinação de cores.

Parâmetro Tipo Descrição
type string Um de: protanopia, deuteranopia, tritanopia, protanomaly, deuteranomaly, tritanomaly, achromatopsia, blueConeMonochromacy

edit-metadata

Escreve ou remove campos individuais de metadados EXIF/IPTC sem remover o bloco inteiro.

Parâmetro Tipo Descrição
artist string Tag EXIF Artist
copyright string Tag EXIF Copyright
imageDescription string Tag EXIF ImageDescription
software string Tag EXIF Software
dateTime string Tag EXIF DateTime
dateTimeOriginal string Tag EXIF DateTimeOriginal
clearGps boolean Remove todas as tags GPS
fieldsToRemove string[] Lista de nomes de campos EXIF a excluir

Todos os parâmetros são opcionais. Os campos listados em fieldsToRemove são excluídos do bloco EXIF existente. Os campos definidos pelos parâmetros nomeados são escritos (ou sobrescritos). Chaves binárias/inseguras como MakerNote são silenciosamente ignoradas.

Detecção de formato

O mecanismo detecta os formatos de entrada automaticamente a partir dos cabeçalhos dos arquivos, não apenas das extensões. Isso significa que um arquivo .jpg que na verdade é um PNG será tratado corretamente. A detecção usa uma abordagem em várias camadas: primeiro os magic bytes, depois a extensão do arquivo como fallback.

O SnapOtter suporta mais de 55 formatos de entrada e 13 formatos de saída, incluindo 23 formatos RAW de câmera de mais de 20 marcas, formatos profissionais (PSD, EPS, OpenEXR, HDR), codecs modernos (JPEG XL, AVIF, HEIC, QOI, JPEG 2000) e formatos científicos/de jogos (FITS, DDS). A decodificação é feita nativamente pelo Sharp sempre que possível, com fallback automático para ImageMagick, LibRaw e decodificadores CLI especializados.

Consulte a página Formatos Suportados para a lista completa.

Extração de metadados

A ferramenta info retorna os metadados da imagem. Consulte Informações da Imagem para a referência completa de campos.

{
  "filename": "photo.jpg",
  "fileSize": 2450000,
  "width": 4032,
  "height": 3024,
  "format": "jpeg",
  "channels": 3,
  "hasAlpha": false,
  "colorSpace": "srgb",
  "density": 72,
  "isProgressive": false,
  "hasExif": true,
  "hasIcc": true,
  "hasXmp": false,
  "bitDepth": "8",
  "pages": 1,
  "histogram": [
    { "channel": "red", "min": 0, "max": 255, "mean": 128.45, "stdev": 52.31 },
    { "channel": "green", "min": 2, "max": 253, "mean": 115.22, "stdev": 48.76 },
    { "channel": "blue", "min": 0, "max": 250, "mean": 102.89, "stdev": 55.14 }
  ]
}