Isso é bastante conjetural, então talvez não seja uma pergunta apropriada. Se você é da opinião de que eu deveria estar perguntando onde fazer essa pergunta, sinta-se à vontade para me redirecionar.
Que eu saiba, o trabalho com arquivos de imagem é realizado fazendo uma série de edições nesses arquivos, que são salvos como uma nova versão do arquivo que contém o novo estado. Embora os arquivos em si possam estar em um formato de texto analisável (embora isso não seja verdade no caso de arquivos do photoshop ou GIMP) e as ações executadas possam ser desfeitas, não conheço nenhum sistema de edição de gráficos cujo formato de arquivo seja um série de etapas executadas em um conjunto de imagens de origem; entendo que a maioria dos formatos de arquivo de imagem é de natureza declarativa e não processual.
Meu pensamento é que armazenar um conjunto de etapas em vez de um estado seria uma maneira muito sensata de salvar um arquivo de imagem, pois permitiria salvar um histórico complexo sem salvar grandes bits binários várias vezes. Isso também permitiria que o controle de versão fosse facilmente gerenciado pelos sistemas SCM, aliviando até a necessidade de bloquear arquivos de imagem, como é comumente feito quando se trabalha em mídia compartilhada no Photoshop ou GIMP.
Uma versão compilada local da imagem serviria como cache: ela seria mantida atualizada e usada para evitar a necessidade de reconstruir o estado da imagem resultante toda vez que ela fosse aberta.
Idealmente, seria possível reaplicar várias etapas na criação da imagem final ou modificar os parâmetros dessas etapas, com o mínimo de complicações. Ser capaz de extrair etapas consecutivas e parametrizá-las para uso futuro, pois as macros podem se tornar muito convenientes de implementar.
Existe um sistema útil de edição de imagens que funcione de maneira semelhante a isso? Estou ficando um pouco irritado com a falta de versatilidade percebida gimp
: quero que funcione um pouco mais vim
.
Dicas sobre como fazer coisas semelhantes no GIMP (talvez usando Python-fu) também são bem-vindas, embora talvez de maneira mais apropriada como comentários do que como respostas.
Meus requisitos de uso são algo de código aberto e executado no Linux, mas estou interessado em saber sobre todos e quaisquer sistemas que funcionam dessa maneira, independentemente do status de licenciamento ou portabilidade.
git
: "ações" são armazenadas como confirmações individuais. Embora não seja totalmente fluido e não seja parametrizável, isso permite que "ações" sejam "reaplicadas", removidas da sequência ou modificadas.vim
como exemplo, mesmo que não seja totalmente capaz de fazer o que eu quero: por exemplo, não há como pegar os últimos comandos e armazená-los / parametrizá-los; você precisa planejar isso com antecedência gravando-os. Eu não sou (ainda?) Umemacs
usuário; pode ser queemacs
forneça um modelo melhor aqui.gimp
, e realmente me perguntando por que não consegui voltar e alterar os parâmetros que escolhi aplicar a uma ação específica registrada em seu histórico de desfazer. Ou selecione um grupo deles e coloque-o em alguma "lista de macros" ou algo assim e, se necessário, edite-o como código em Python ou qualquer outra coisa. Estou pensando em ações como as do menu Filtros, mais do que edições "interativas", mas na teoria isso também poderia ser feito; parâmetros seriam coisas como a localização inicial de um aerógrafo.Já foi feito. O formato "pict" do Macintosh anterior ao OS X era uma série de comandos codificados do QuickDraw. E você certamente pode fazer algo muito semelhante no postscript (ou seja, basta gravar as chamadas necessárias para desenhar a imagem após a definição de algum conjunto de primitivas).
fonte
gimp
gráficos raster existentes, seria ótimo encontrar um editor de gráficos WYSIWYG moderno que facilite o trabalho com o postscript de maneira tão versátil.