Página inicial English version of this page Quindigo Curriculum Vitae Pós-graduação em Games Pixel Pocketknife QuindiGUI Todopano Desenhos - Truco! Desenhos - Projeto Terrinha Desenhos - LíGia Desenhos - Habilidades Auditivas Desenhos - Acerte Sempre Desenhos - Caderno Ilustrado de Verbos Desenhos - Miscelânea

Pixel Pocketknife

Pixel Pocketknife é o editor gráfico que desenvolvi em horas livres para facilitar minha vida e sem compromisso além daquele com minha satisfação pessoal. Esse aplicativo me deu a motivação derradeira para criar este site. Dediquei tempo a ele essencialmente no período entre agosto de 2002 e fevereiro de 2006. Em julho e agosto de 2008, escrevi um decodificador JPEG e o embuti no PixPoc.

Pequeno e fácil de usar, o Pixel Pocketknife possui recursos interessantes que visavam, em primeiro momento, resolver problemas frequentes que eu tinha ao manipular imagens. Ele é versátil: pode ser utilizado para desenhar pixel a pixel imagens pequenas (como aquelas próprias para botões de ferramentas e ícones de aplicativos) e também para aplicar efeitos em imagens complexas como fotografias. Uso-o com frequência para montar papéis de parede para o celular e avatares. Todas as imagens deste site foram montadas e/ou tratadas com assistência do Pixel Pocketknife.

O Pixel Pocketknife encontra-se disponível para download e utilização gratuitos.


Screenshot do Pixel Pocketknife (PixPoc) rodando em Windows XP

Principais características do aplicativo

  • Pequeno, versátil e fácil de usar;
  • Carrega e salva imagens nos formatos bitmap, ícone e cursor, oferecendo portanto cores transparente e invertida para edição. Ele também carrega algumas variações do formato JPEG, mas não salva nesse formato;
  • Permite ter várias imagens abertas ao mesmo tempo;
  • Funções de desfazer e refazer;
  • Funções amigáveis para desenho de traços e formas geométricas;
  • Diversas funções de transformações simples e úteis (rotação, inversão, rolagem, inversão de cores etc);
  • Função de pintura de região delimitada por cor específica;
  • Função para deixar imagem em escala de cor específica;
  • Ampliação e redução de imagens com qualidade;
  • Função de colagem de recorte que combina mescla parametrizável de imagens e ampliação e redução do recorte com qualidade;
  • Função para produção e colagem de recorte com imagem de texto;
  • Ferramenta que monitora a Área de Transferência do Windows para capturar e salvar as imagens copiadas para lá. Basta fornecer um padrão para os nomes de arquivos, indicando onde devem aparecer os dígitos da numeração sequencial, e o Pixel Pocketknife agilizará enormemente a obtenção de screenshots (com a tecla "Print Screen") em sequência;
  • Função para editar a paleta de cores da imagem (vale para bitmaps de 2, 16 ou 256 cores);
  • Recurso de máscaras para proteger áreas específicas das imagens durante a edição. O aplicativo permite escolher uma imagem auxiliar (que pode ser a própria imagem em edição) que funciona como mapa de máscaras. Cada cor desse mapa de máscaras indica uma região selecionável como máscara.
    Este recurso é poderoso e há várias formas de tirar proveito dele, porém não triviais para se explicar em poucas linhas de texto.

Ei, mas este editor está mal-passado!

Ah, deve estar mesmo. Investir em sua interface e prepará-lo para todo tipo de usuários nunca foi a prioridade. Meu principal interesse sempre foi adicionar ao aplicativo recursos úteis, utilizando-o como campo de provas para minhas ideias. Quando eu disponibilizei o Pixel Pocketknife para download pela primeira vez, ele estava bem cru e tinha (mais) bugs.

Há dois fatos que preciso deixar claros:

1) O aplicativo foi desenvolvido com apenas um editor de textos e um compilador C++ acionado via linha de comando. Isso significa que programei cada detalhe do aplicativo, encapsulando objetos do Windows em classes próprias e fazendo chamadas à API Win32. Cheguei a cuidar das minúcias da manipulação dos bits das imagens para plotar os pontos desejados.

2) Não esperei o aplicativo ficar "redondinho" para difundi-lo. Do jeito que ele está hoje é possível tirar muito proveito dele. Na época do MSX, passei muito tempo desenvolvendo o assim chamado "Digo´s Sprite Designer". Cheguei a fazer quatro versões incompletas do programa, cada uma melhor que a anterior. No final das contas, não divulguei nenhuma versão do programa, o tempo passou, o MSX perdeu espaço no Brasil e eu precisei lidar com uma frustação enorme. Não quero repetir o mesmo erro.

Primeiras motivações

Certa vez, ocorreu-me uma ideia para colorir desenhos disponíveis em escalas de cinzas: criar uma imagem que funcionasse como mapa de cores e uma rotina para mesclar as duas imagens. Empolgado, fiz um programinha rudimentar que apenas lia dois arquivos de bitmaps de iguais dimensões e de 24 bits de cores (Sombras.bmp e Cores.bmp) e gerava um arquivo Saida.bmp com a mistura das imagens. Ideia simples, mas bacana de ver na prática!


Sombras.bmp + Cores.bmp + (programinha legal) = Saida.bmp

A imagem em escala de cinzas era resultado de um desenho feito com lapiseira e caneta, digitalizado e brevemente tratado com Photo Editor e Paint, ambos da Microsoft. A imagem que funcionava como mapa de cores era produzida no Paint, a partir de uma cópia da imagem em escala de cinzas.

Talvez você tenha percebido que produzir o mapa de cores dessa forma é um trabalho brutal. A delimitação das regiões das cores é feita pixel a pixel e delimitar uma região não facilita a pintura de uma região adjacente com outra cor. A função de pintura do Paint espalha cor apenas por uma região conexa que tenha uma mesma cor. Isso me fez desejar uma ferramenta para pintar regiões delimitadas por determinada cor, visando diminuir sensivelmente esse volume de trabalho. Foi então que resolvi alterar um embrião de aplicativo MDI que eu vinha desenvolvendo de forma que ele permitisse ao usuário abrir arquivos de bitmap, pintar regiões delimitadas por uma certa cor e salvar as imagens resultantes. Assim começou meu editor gráfico para Win32.

Depois disso, o editor cresceu bastante e ficou muito mais amigável. A rotina que mescla duas imagens está embutida e melhorada na função de colagem de recorte. Existem ainda outros recursos interessantes no aplicativo, conforme mencionado anteriormente nesta página.

Você pode achar que essa forma de colorir imagens é tosca e eu concordarei com você. Um usuário de Photoshop certamente faz um trabalho muito melhor e em muito menos tempo. Yep! Mas aquele embrião de aplicativo MDI objetivava preparar uma infra-estrutura para desenvolvimento de aplicativos enxutos, escritos na íntegra em C++. O Pixel Pocketknife atendeu plenamente a esse objetivo. E o que realmente pesava neste caso é que, como programador, gosto de ver implementações de ideias funcionando. Isso me faz sentir bem!

Download (gratuito)

Interessado? Yay! Clique em um dos links abaixo para fazer download do aplicativo.

  PixPocPortugues.zip   (143 KB - versão 2.03.00 em Português)

  PixPocEnglish.zip   (143 KB - versão 2.03.00 em Inglês)

Para pôr o editor para funcionar, basta extrair o executável PixPoc.exe contido no Zip baixado e salvá-lo em uma pasta conveniente para você. Esse executável pode ser acionado como um aplicativo comum. Não há outros arquivos nesse Zip e não é necessário nenhum procedimento de instalação. O Pixel Pocketknife não fará nenhuma alteração no registro do Windows. Se você desejar posteriormente remover o aplicativo de seu computador, bastará excluir o arquivo PixPoc.exe. Yup!

No momento, a chance de haver novas versões do aplicativo é pequena. De qualquer forma, a numeração das versões funciona assim:

  • O primeiro número (antes do primeiro ponto) é incrementado somente quando o aplicativo sofre alterações pesadas;
  • O segundo número (entre os dois pontos) é incrementado quando alguma novidade é adicionada ao aplicativo;
  • O terceiro e último número é incrementado quando o aplicativo é alterado exclusivamente para correção de funcionalidades existentes;
  • Quando um número é incrementado, os números menos significativos (se houver) são zerados.

Ajuda e feedback

O Pixel Pocketknife sempre dependeu de uma série de condições favoráveis para crescer e nunca rendeu diretamente um único tostão para meu bolso. Não há documentação que explique como utilizá-lo e o suporte está condicionado a minha disponibilidade de tempo livre.

Se você experimentar o Pixel Pocketknife e tiver quaisquer comentários, dúvidas, problemas ou sugestões, por favor, deixe-me saber. Entre em contato comigo por e-mail ou Skype (usuário quindigo).