从 PNG 创建 C 标头的 ARGB 结构

从 PNG 创建 C 标头的 ARGB 结构

我需要将徽标位图更新为更新后的徽标。现有代码使用通过XChangeProperty.

我研究了 imagemagick 和 Gimp,以便将更新后的 png 转换为合适的标头。 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 的顺序放置字节,因为我的计算机是小端字节序。

相关内容