Crie uma estrutura ARGB para o cabeçalho C de um PNG

3

Eu preciso atualizar um bitmap de logotipo para um logotipo atualizado. O código existente usa um cabeçalho C que é carregado via XChangeProperty .

Eu examinei o imagemagick e o Gimp para converter o png atualizado que tenho em um cabeçalho adequado. O Gimp até disse 'exportar um cabeçalho C' (ou algo parecido), mas o resultado não se assemelha ao formato existente.

Como faço para ir (de preferência na linha de comando) de um png para um arquivo de cabeçalho adequado?

Editar: Expandindo um pouco a pergunta, o logotipo (agora desatualizado) que gostaria de substituir é no arquivo e gets usados aqui .

    
por Dirk Eddelbuettel 30.07.2015 / 19:03

1 resposta

2

Usando o ImageMagick, com base em rlogo_icon.h .

#!/bin/sh
echo 'unsigned long rlogo_icon[] = {'
identify -format '%w, %h,' $1
convert $1 -color-matrix '0 0 1 0, 0 1 0 0, 1 0 0 0, 0 0 0 1' RGBA:- | hexdump -v -e '1/4 "0x%08x,\n"'
echo '};'

Uso:

./script.sh rlogo_icon.png > rlogo_icon.h

Não tenho certeza se esse -color-matrix está sempre correto. Coloquei bytes na ordem de BGRA porque meu computador é little endian.

    
por 31.07.2015 / 19:45