PNGでCヘッダーのARGB構造を生成する

PNGでCヘッダーのARGB構造を生成する

ロゴビットマップを更新されたロゴで更新する必要があります。既存のコードはを通じて使用されますXChangeProperty

更新されたpngを適切なヘッダーに変換するためにimagemagickとGimpを調べました。 Gimpは「Cヘッダーのエクスポート」(または同様のコンテンツ)と言いますが、結果は既存の形式と似ていません。

pngから適切なヘッダファイルに移動する方法(好ましくはコマンドラインから)は何ですか?

編集する:質問をもう少し拡張すると、交換したい(現在は使用されていない)ロゴは次のようになります。このファイルにそしてここで使用してください

答え1

ImageMagickの使用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 '};'

使用法:

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

-color-matrixこれが常に正しいかどうかはわかりません。私のコンピュータはリトルエンディアンなので、バイトをBGRAの順序で配置しました。

関連情報