Editor de Imagem Estilo Paint.NET Plataforma alvo: Lazarus (Free Pascal) com LCL, compatível com Windows e Linux
🧩 1. Estrutura Geral do Programa Interface MDI (interface com múltiplos documentos abertos)
Barra de ferramentas superior com ícones para ferramentas e ações
Barra lateral com opções de camada, propriedades e histórico
Área principal de edição com suporte a zoom e rolagem
Suporte a atalhos de teclado e menus contextuais
📂 2. Gerenciamento de Arquivos Novo documento com escolha de dimensões e cor de fundo
Abrir arquivos nos formatos: PNG, JPG, BMP, TIFF (e opcionalmente PSD)
Salvar como: PNG (com transparência), JPG, BMP
Suporte a "Salvar Como..." e "Salvar cópia"
Exportar imagem mesclada (flattened)
Histórico de arquivos recentes
🧰 3. Ferramentas de Edição Cada ferramenta deve ter uma barra de propriedades (configuração dinâmica):
3.1 Ferramentas de Desenho: Pincel: formas variadas, tamanho ajustável, opacidade
Lápis: linha fina com cores sólidas
Borracha: tamanho ajustável, remove para cor de fundo ou transparente
Preenchimento (balde de tinta): preenchimento por área contígua, tolerância ajustável
Gradiente: linear e radial, com controle de opacidade
3.2 Ferramentas de Forma: Linha: cor, espessura, estilo tracejado
Retângulo / Retângulo arredondado
Círculo / Elipse
Polígono / Curvas de Bézier (opcional)
3.3 Ferramentas de Seleção: Seleção Retangular
Seleção Elíptica
Seleção Livre (laço)
Varinha mágica (por cor): tolerância ajustável
Mover seleção / mover conteúdo da seleção
3.4 Texto: Inserção de texto com fonte, tamanho, cor, alinhamento e rotação
Suporte a múltiplas linhas e estilos (negrito, itálico, sublinhado)
🖼️ 4. Camadas (Layers) Criação, exclusão, duplicação e ordenação de camadas
Visibilidade de camada (ligar/desligar)
Opacidade por camada (0–100%)
Modos de mesclagem: Normal, Multiplicação, Adição, Subtração, Sobrepor (Overlay)
Bloqueio de camada (edição e/ou movimento)
Renomear camada
🛠️ 5. Ajustes e Filtros Brilho/Contraste
Saturação / Matiz
Inversão de cores
Escala de cinza
Níveis (curvas opcionais)
Redimensionar imagem (com interpolação bilinear ou vizinho mais próximo)
Rotacionar 90°, 180°, livre
Espelhar horizontal/vertical
Recorte de área selecionada
🔁 6. Histórico e Edição Não Destrutiva Sistema de desfazer/refazer (undo/redo) ilimitado (até onde a memória permitir)
Histórico visual em forma de lista ou thumbnails
Preferencialmente, estrutura de ações reversíveis modular
🧩 7. Interface do Usuário Interface responsiva e modular (dockable)
Personalização de layout (barra de ferramentas, painéis laterais)
Temas claro e escuro (opcional)
Painel de propriedades/contexto: exibe opções conforme ferramenta ativa
Indicadores de camada ativa e seleção
🔧 8. Outras Funcionalidades Desejadas Suporte a transparência e canal alfa
Grade de pixels (ativar/desativar)
Régua com marcação (em pixels)
Grade de alinhamento magnético (snap to grid)
Zoom in/out com atalho de teclado e roda do mouse
Navegador de miniatura (minimap da imagem)
Controles de rotação e ângulo na camada
Linha do tempo para animações quadro a quadro (futuramente)