Habilidade de Marca d'Água e Redimensionamento de Fotos (photo-watermark-resizer)
Esta habilidade permite redimensionar (ajustar pixels de largura/altura) e aplicar marcas d'água PNG transparentes em lote para múltiplas fotos ou pastas de imagens, como para postagens de blog. O agente de IA pode, de acordo com a solicitação do usuário, 1) realizar a conversão automática imediatamente via script CLI ou 2) abrir um aplicativo GUI para que o usuário posicione a marca d'água visualmente com preview.
Ambiente e Caminhos de Execução
- Executável Python:
C:\Users\쭈니\AppData\Local\Programs\Python\Python313\python.exe(oupythondo sistema) - Script CLI: cli_resizer.py
- Projeto GUI original:
C:\Users\쭈니\Documents\photo resiging\watermark_resizer.py(executável:WatermarkResizer.exe) - Caminhos de referência para assets de marca d'água (
C:\Users\쭈니\Pictures):C:\Users\쭈니\Pictures\넥스가드서명.pngC:\Users\쭈니\Pictures\넥스가드서명화이트.pngC:\Users\쭈니\Pictures\서명화이트.pngC:\Users\쭈니\Pictures\안산수암점.png
Modo de Uso (Passo a Passo)
1. Quando o AI realizar a conversão em lote imediatamente em segundo plano (Modo CLI)
Quando o usuário informar o caminho da pasta e as opções de tamanho/marca d'água, execute o cli_resizer.py para processar imediatamente.
& "C:\Users\쭈니\AppData\Local\Programs\Python\Python313\python.exe" "C:\Users\쭈니\.gemini\config\skills\photo-watermark-resizer\scripts\cli_resizer.py" `
--input "<caminho_da_pasta_ou_arquivo_de_destino>" `
--watermark "<caminho_da_marca_d'água_PNG>" `
--width 800 `
--height 600 `
--opacity 80 `
--size 20 `
--margin 3 `
--position "Inferior Direito" `
--json
Descrição das Opções Principais
| Opção | Padrão | Descrição |
|---|---|---|
-i, --input | (Obrigatório) | Caminho da pasta contendo as imagens a serem convertidas, ou caminho de um arquivo de imagem individual |
-w, --watermark | Nenhum | Caminho do arquivo PNG da marca d'água a ser aplicada (se omitido, apenas redimensiona) |
-o, --output | pasta_origem/processed | Caminho da pasta para salvar os resultados (se não especificado, salva automaticamente em processed/ dentro de cada pasta de imagem) |
--width | 800 | Largura alvo em pixels (0 para ajustar proporcionalmente apenas pela altura) |
--height | 600 | Altura alvo em pixels (0 para ajustar proporcionalmente apenas pela largura) |
--no-resize | False | Se adicionado, mantém a resolução original e apenas aplica a marca d'água |
--stretch | False | Se adicionado, desativa a manutenção da proporção e ajusta forçadamente para largura x altura especificados |
--opacity | 80.0 | Opacidade da marca d'água (10 ~ 100%) |
--size | 20.0 | Proporção do tamanho da marca d'água em relação à largura da imagem de resultado (5 ~ 100%) |
--margin | 3.0 | Proporção da margem das bordas (0 ~ 50%) |
--position | Bottom-Right | Superior Esquerdo(Top-Left), Superior Centralizado(Top-Center), Superior Direito(Top-Right), Meio Esquerdo(Middle-Left), Centro(Center), Meio Direito(Middle-Right), Inferior Esquerdo(Bottom-Left), Inferior Centralizado(Bottom-Center), Inferior Direito(Bottom-Right), Personalizado(Custom) |
--custom-x, --custom-y | 95.0 | Porcentagem da posição relativa horizontal/vertical quando --position Custom (0 ~ 100%) |
--no-recursive | False | Desativa a busca em subpastas, processando apenas as imagens da pasta raiz |
--json | False | Exibe o resultado do processamento em JSON, facilitando a análise pelo AI |
2. Quando o usuário quiser posicionar a marca d'água visualmente com preview (Modo GUI)
Quando o usuário solicitar "abre a janela", "quero posicionar manualmente com preview", execute o aplicativo desktop com a opção --gui:
& "C:\Users\쭈니\AppData\Local\Programs\Python\Python313\python.exe" "C:\Users\쭈니\.gemini\config\skills\photo-watermark-resizer\scripts\cli_resizer.py" --gui
Verificação de Resultados
- Após a execução do comando, verifique se o JSON de saída contém
"status": "success"e o número de itens em"processed". - Confira se as imagens convertidas foram geradas na subpasta
processed/dentro da pasta de destino especificada e informe ao usuário o caminho de salvamento e a quantidade de arquivos processados.