CxImage를 이용한 이미지뷰어
이 프로젝트를 하면서 가장 어려웠던 점은 라이브러리 파일을 생성하는 일이었다. sdk라고 받았는데 .h파일과 .c, .cpp파일만 덩그러니 있어서 이걸로 어째야 할지 감을 잡을 수가 없었다. 일단 여러 검색사이트를 뒤졌다. '오픈 라이브러리 사용법' 검색어로 검색해가며 뒤진지 한참 뒤에야 이 라이브러리를 사용하는 방법이 나와있었다.
이것이 CxImage 라이브러리를 열었을 때의 file view의 모습인데 여기에서 위의 3가지를 Build해 주어야 한다. 그 아래에 있는 파일들은 위의 3개에 include등으로 포함되어 같이 build 되므로 괜찮다.
이제 mdi로 새로운 프로젝트를 생성하고 이때 생성된 폴더안에 include 폴더를 새로 만든후 CxImage를 build한후 생긴 .h파일을
모두 붙여넣는다.
새로운 프로젝트에서는 몇가지만 추가해 주면 된다.
파일을 열기위한 도큐먼트에서 먼저 이 이벤트를 처리하는 함수를 선언해 주어야한다.
이 함수에서는 이미지를 저장할 포인터인 m_pImage에 CxImage라이브러리에 있는 함수인 Load를 이용하여 불러온 파일을 저장한다
이부분은 파일을 저장하는 부분이다. 여는 부분과 비슷하게 m_pImage변수에서 Save함수를 이용하여 파일의 이름과 경로를 받아서 파일을 저장하게 된다.
여기가 파일을 화면에 뿌려주는 OnDraw함수이다. GetDocument함수로부터 인스턴스를 받아오고 역시 CxImage의 함수인 Draw를 이용하여 이미지의 크기값을 CRect에 주어서 화면에 띄우게 된다.
이번 프로젝트는 지금까지의 프로젝트와는 비교도 할 수 없을만큼 어려웠다. google이나 지금 가지고 있는 책들에서 정말 많이 도움을 받았지만 직접 작성하면서 보니까 라이브러리를 연동하는 부분을 제외하면 mfc의 기본 라이브러리를 다루는 것이나 비슷하다고 느꼈다. 이 과제를 계기로 수업시간에 자주 들었던 직접 해보고 남의 코드를 분석해보는 습관이 얼마나 실력향상에 중요한지 알게 되었다.