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 순서로 배치했습니다.

관련 정보