본문 바로가기

내가 작업한 것들/소프트웨어

MinGW/CodeBlocks 용 CxImage 6 library (miniport)


CodeBlocks 를 쓰면서 가장 불만이 느껴 지는 것이 바로 Windows API 를 주워다 쓸 Native Graphic Engine 의 부재 입니다.
GDI+ 를 호출 해서 쓰는 방법 이 있긴 합니다만, GDIplus.DLL 이 없는 경우엔 조금 난감하게 됩니다. (그 외에 WindowsXP 에서 WPF 를 사용한 어플리케이션과 병행 수행시 문제가 됩니다)

그래서 CxImage 6 를 CodeBlocks 에서 가져다 쓰기 편하도록 archive 화 한 라이브러리를 올립니다.
여러 포맷중, 다음 포맷은 제거 했습니다.

ICO, TIF, TGA, PCX, WBMP, WMF, JP2, JPC, PGX, PNM, RAS, JBG, MNG, SKA, RAW

위 포맷들중 MNG 는 관련 라이브러리가 MinGW 에서 수정 하기 힘든 오류를 내서 (64bit의 경우) 포팅을 포기 했던 바도 있고, 나머지 포맷들은 사실 잘 쓰이지 않는데다, 필요에 따라 사용자가 추가 하면 되도록 ximacfg.h 안에 #define 으로 정의 해 두었습니다.
물론, 제가 추가한 라이브러리엔 제거된 것이 있어 ICO 나 TIF, PCX, WBMP, WMF 외엔 #define 을 변경해도 사용이 불가능 합니다.

라이브러리 소스와, 파일 등은 아래에 있는 zip 파일들을 참조 해 주시기 바랍니다.

CxImage6_CodeBlocks_MinGW.zip


CxImage6_header_lib.zip

위 파일은 각각 용도별로 분리 한 상태 이며, CxImage6_CodeBlocks_MinGW.zip 에는 import 하는 header 를 분리 하지 않고 (src 안에 모두 포함), lib 이 만들어 져 있지 않습니다.
즉, 직접 CodeBlocks 로 빌드 하시면 되며, 64bit MinGW 에서 빌드 및 사용이 가능합니다.

lib 과 import 할 header 는 CxImage6_header_lib.zip 파일을 열어서 사용하면 되고, CodeBlocks 사용시엔 다음과 같이 Linker setting 에 추가하기만 하면 됩니다.

주의 할 점은 PNG 를 사용하려면 반드시 ZLIB 을 함께 포함 해야 합니다.

실제 사용에 쓰인 CxImage test app 는 아래에 zip 파일로 첨부 합니다.

CxImageTest.zip

lib 폴더 안이 비어 있으므로, 받드시 위의 header 와 lib 있는 zip 파일에서 컴파일 된 archive 를 복사 해 주어야 합니다.
그런 다음 CodeBlocks 를 수행하여 컴파일 하면 exe 를 만들수 있으며, exe 가 있는 폴더에서 실행 할 경우, 반드시 test.png 를 복사해 붙여 넣어 사용해야 합니다.

CxImage 의 저작권과 권리는 CxImage 제작자에게 있으며, 제가 따로 재구성한 패키지엔 원래 소스를 변경한 것이 없으며, MinGW에서 빌드및 사용을 위해 mini port 버젼을 만든 것 임을 밝힙니다.

CxImage 의 제작자 원본 소스는 http://www.codeproject.com/Articles/1300/CxImage 에서 받으실 수 있으며 (간략한 등록이  필요함), 자세한 정보는 제작자 페이지인 http://www.xdp.it/cximage.htm 에서 확인이 가능합니다.