⚠️ Este é um site de tradução não oficial, sem relação com a ImageMagick Studio LLC. Para informações oficiais, consulte a página original (https://imagemagick.org/history/).

História do ImageMagick

Juro pela minha vida e pelo amor que tenho por ela que nunca viverei em função de outro homem, nem pedirei a outro homem que viva em função de mim. -- John Galt em "A Revolta de Atlas", de Ayn Rand

O ImageMagick começou com um pedido do meu supervisor na DuPont, o Dr. David Pensak, para exibir imagens geradas por computador em um monitor capaz de mostrar apenas 256 cores únicas simultaneamente.

Em 1987, monitores capazes de exibir imagens em cores reais de 24 bits eram raros e bastante caros. Havia uma infinidade de químicos e biólogos na DuPont, mas pouquíssimos cientistas da computação com quem conversar. Em vez disso, recorri à Usenet em busca de ajuda e publiquei um pedido por um algoritmo para reduzir imagens de 24 bits a 256 cores. Paul Raveling, do USC Information Sciences Institute, respondeu não apenas com uma solução, mas com uma que já estava em código-fonte e disponível no site FTP da USC. Ao longo dos anos seguintes, tive frequentes oportunidades de obter ajuda com outros problemas espinhosos de ciência da computação que encontrei no decorrer do meu trabalho na DuPont. Por fim, senti-me compelido a agradecer pela ajuda que recebi das pessoas experientes da Usenet. Decidi liberar gratuitamente para o mundo as ferramentas de processamento de imagens que desenvolvi, para que outros pudessem se beneficiar dos meus esforços.

Em 1990 havia poucas ferramentas de processamento de imagens disponíveis gratuitamente, então eu esperava uma recepção entusiasmada. Antes que um lançamento fosse possível, o Dr. Pensak teve que convencer a alta administração da DuPont a abrir mão do que eles poderiam perceber como propriedade intelectual valiosa. Suspeito que concordaram simplesmente porque o ImageMagick não tinha base química ou biológica, de modo que não compreenderam seu valor para a empresa. De qualquer forma, o ImageMagick não estaria disponível hoje sem a DuPont ter transferido os direitos autorais para a ImageMagick Studio LLC. O ImageMagick foi publicado no grupo comp.archives da Usenet em 1º de agosto de 1990.

Após o lançamento do ImageMagick, recebia ocasionalmente um pedido de melhoria, um relato de bug ou uma contribuição para a base de código-fonte. Em meados dos anos 90, lancei a culminação desses esforços como ImageMagick 4.2.9. Na época, eu achava que o ImageMagick estava completo. Era utilizado por milhares de usuários ao redor do mundo, e até aparecia como parte de um novo sistema operacional distribuído gratuitamente chamado "Linux".

A próxima geração do ImageMagick, a versão 5, começou quando Bob Friesenhahn me contatou e sugeriu que eu melhorasse a interface de programação de aplicativos para que os usuários pudessem aproveitar os algoritmos de processamento de imagens a partir de outras linguagens ou scripts. Bob também escreveu um wrapper em C++ para o ImageMagick chamado Magick++, e começou a contribuir com melhorias como o recurso de carregamento de módulos, a identificação automática de arquivos e conjuntos de testes. Enquanto isso, o projeto ganhou alguns outros contribuidores notáveis: Glenn Randers-Pehrson, William Radcliffe e Leonard Rosenthol. A essa altura, o ImageMagick era utilizado por dezenas de milhares de usuários, que reagiam de forma ríspida quando um novo lançamento quebrava uma chamada de API ou um script existente. Os demais membros do grupo queriam congelar a API e a linha de comando, mas eu sentia que o ImageMagick ainda não era exatamente o que eu imaginava que ele poderia ser. Bob e os outros criaram um fork do ImageMagick enquanto eu continuava a desenvolver o ImageMagick.

Não trabalhei sozinho por muito tempo. Anthony Thyssen me contatou a respeito de deficiências nos programas de linha de comando do ImageMagick. Ele apontou que a linha de comando era confusa ao lidar com mais de uma imagem. Sugeriu um método ordenado e bem definido para lidar com a linha de comando, e isso se tornou o ImageMagick versão 6. Seus esforços estão detalhados em suas páginas web, Examples of ImageMagick Usage. Recomendo fortemente que você explore o site dele. Ele ilustrou o poder do ImageMagick de maneiras que nem eu sabia serem possíveis.

Outro contribuidor notável, Fred Weinhaus, disponibiliza uma infinidade de scripts de linha de comando que realizam transformações geométricas, desfoques, nitidez, detecção de bordas, remoção de ruído e manipulações de cor. Glenn Randers-Pehrson é nosso guru de PNG e faz outras contribuições valiosas. Dirk Lemstra fez, e continua fazendo, inúmeras melhorias para tornar o ImageMagick mais robusto no Windows e distribui um wrapper .NET, Magick.NET.

O design do ImageMagick é um processo evolutivo, no qual os esforços de design e implementação servem para influenciar e orientar o avanço de cada um. Com o ImageMagick versão 7, aprimoramos o design com base nas lições aprendidas com a implementação da versão 6. O ImageMagick foi originalmente projetado para exibir imagens RGB em um servidor X Windows. Com o tempo, estendemos o suporte às imagens RGBA e, em seguida, ao formato de imagem CMYK e CMYKA. Com o ImageMagick versão 7, estendemos o suporte a espaços de cor arbitrários com um número arbitrário de canais de pixel. Além disso, o ImageMagick 7 armazena os canais de pixel como números de ponto flutuante, permitindo valores fora da faixa (por exemplo, negativos) e reduzindo o erro de arredondamento.

Cristy
Arquiteto Principal do ImageMagick