Imlib2 에서, image 크기 알고싶습니다.

nephro의 이미지

사용하는 언어는 C이구요. 시스템은 데비안 우디입니다.
하고자 하는것은 이미지 파일을 Thumbnail 로 바꾸기 입니다.
이미지를 화면에 나타낼 필요는 없이 파일을 읽어서 바로 작게 작성하기입니다.

Imlib2를 이용하여,
1. 이미지 로딩
2. 이미지 크기 알아내기
3. 이미지 크기 재설정
4. 이미지 저장

의 순서로 하면 될것 같아서, 헤더파일을 참고하여 다음과 같이 하였습니다.

Imlib_Image *im;
gint  w, h;

....

im = imlib_load_image(filename);
w = imlib_image_get_width();
h  = imlib_image_get_height();  

근데, 이미지 로딩까지는 에러가 없이 넘어가는데, 이미지 가로/세로 크기부분
이 에러를 내는군요.

****Imlib2 Developer Warning****
        This program is calling the Imlib call:
        imlib_image_get_width();
        With the parameter :
        image
        being NULL. Please fix your program.

하지만, 헤더파일을 보면,

int imlib_image_get_width(void);
int imlib_image_get_height(void);

로 정의되어 있습니다.

사실 전 Imlib2를 사용해 본적이 없어, 헤더파일만 보고 삽질중이라서
그림 파일 다루기에 대한 개념이 없어서, 이미지 로딩전/후에 다른 setting을
해줘야 하는지 잘 모릅니다.
한수 부탁드립니다.
감사합니다.

nephro의 이미지

자답을 하는군요.

imlib_context_set_image(im);

을 추가하니 width와 height를 읽어옵니다.
Imlib2의 tar ball을 받아보니, 예제가 나와있었습니다.

자유를 꿈꾸는자 고개를 들어 하늘을 보라.