레이블이 PNG인 게시물을 표시합니다. 모든 게시물 표시
레이블이 PNG인 게시물을 표시합니다. 모든 게시물 표시

2009년 11월 7일 토요일

Visual C++에서 윈도우 내장 이미지 뷰어 사용하는 방법

메르카토르 지도에 최단경로를 그리는 프로그램을 개발 중 이미지 파일(PNG)을 화면에 간단히 출력하는 기능을 넣기로 했다.

처음엔 그냥 ShellExecute() 함수에서 이미지 파일을 직접 실행시켰는데, PC마다 일관성이 없어 보기 좋지 않았다.
그래서 윈도우 XP에 내장된 이미지 뷰어를 이용해서 이미지 파일을 출력하기로 방향을 수정.

Visual C++에서 이런 식으로 윈도우에 내장된 이미지 뷰어를 사용하려면 아래와 같은 짤막한 코드면 충분하다.


csPNG에 이미지 파일의 full path가 들어있다고 가정함.

CString csParam;
csParam.Format(_T("shimgvw.dll, ImageView_Fullscreen %s"), csPNG);
ShellExecute(NULL, _T("open"), _T("rundll32.exe"), csParam, NULL, SW_SHOW);


2008년 1월 24일 목요일

드디어 이름에 맞는 테마 적용!

블로그 이름은 BLUE로 시작하는데, 정작 테마는 White여서 뭔가 어색해 보였습니다.

며칠간 완전히 헤맨 끝에 blueskin의 배경그림과 지금까지 사용하던 Tistory Studio White의 구성에 이것저것 섞어서 저만의 블루테마를 만들었습니다.

헤더는 몽땅 투명 PNG로 떡칠을 해서 blueskin의 멋진 배경이 그대로 보입니다.
<div> 태그를 잘 쓰지 못해 헤더는 몽땅 <table>의 천국입니다.
※ 3중 테이블까지 썼습니다. 무슨 삼단콤보어택도 아니고…

사용자 삽입 이미지


사용자 삽입 이미지
열심히 투명 PNG로 메뉴를 구성했더니 만만한 웹브라우저는 모두 투명 PNG를 제대로 표시를 못하는군요.
Internet Explorer 7, Firefox 2.0은 물론, ACID2 테스트를 가뿐하게 통과한 Opera 9.0에서도 투명 PNG가 여러장 겹치니까 그림이 조금 깨져보입니다.

내일 메뉴를 다시 투명 PNG로 그려보고, 도저히 안 될 것 같으면 불투명하게 다시 만들던지 해야겠습니다. (현 시각 새벽 3시 30분…)

테마 구성이랑 2차 도메인 설정을 하고 나면 이 블로그의 외형은 자리를 잡아가는 것 같습니다.

이제 많이들 찾아만 오시면 되는데… 이런… 가장 중요한 것이 빠졌군요. 사람들…

※ 투명 PNG 2장이 겹쳐지는 경우 IE7/FF2/Opera 모두 정상적으로 처리하지 못한다는 것을 발견하고는
    아예 AniGIF로 변경했습니다.
    마침 기회가 있어 IE6에서 테스트해봤는데, IE6투명 PNG 처리가 완전히 꽝이군요...
    그래서, javascript 도배를 해서 IE6일 때는 투명 GIF가 뜨도록 했습니다.