UNPKG

@jackiemacklein/nettz-utils

Version:

Serviços de imagem, e-mail, códigos de barras, utilitários numéricos e componentes React para apps Node.js com TypeScript

64 lines (63 loc) 2.23 kB
/** * @author Jackiê Macklein * @company Onside tecnologia/Nettz * @copyright Todos direitos reservados. * @description Serviço para processamento de imagens */ declare class ImageService { /** * Redimensiona uma imagem mantendo a proporção * @param buffer Buffer da imagem * @param maxWidth Largura máxima * @param maxHeight Altura máxima */ resize(buffer: Buffer, maxWidth: number, maxHeight: number): Promise<Buffer>; /** * Recorta uma imagem em um formato específico * @param buffer Buffer da imagem * @param width Largura desejada * @param height Altura desejada */ crop(buffer: Buffer, width: number, height: number): Promise<Buffer>; /** * Comprime uma imagem para reduzir seu tamanho * @param buffer Buffer da imagem * @param quality Qualidade da compressão (1-100) */ compress(buffer: Buffer, quality?: number): Promise<Buffer>; /** * Converte uma imagem para um formato específico * @param buffer Buffer da imagem * @param format Formato desejado ('jpeg', 'png', 'webp') */ convert(buffer: Buffer, format: "jpeg" | "png" | "webp"): Promise<Buffer>; /** * Adiciona uma marca d'água a uma imagem * @param imageBuffer Buffer da imagem principal * @param watermarkBuffer Buffer da marca d'água */ addWatermark(imageBuffer: Buffer, watermarkBuffer: Buffer): Promise<Buffer>; /** * Converte um buffer de imagem para base64 * @param buffer Buffer da imagem * @param format Formato da imagem para o cabeçalho do base64 */ toBase64(buffer: Buffer, format?: "jpeg" | "png" | "webp"): Promise<string>; /** * Converte uma string base64 para buffer * @param base64 String base64 da imagem */ fromBase64(base64: string): Promise<Buffer>; /** * Processa uma imagem e retorna em base64 * @param buffer Buffer da imagem * @param options Opções de processamento */ processAndReturnBase64(buffer: Buffer, options?: { maxWidth?: number; maxHeight?: number; quality?: number; format?: "jpeg" | "png" | "webp"; }): Promise<string>; } export default ImageService;