'zviewer'에 해당되는 글 10건
- 2012/04/29 ZViewer 0.8.0 배포합니다
- 2008/11/30 ZViewer 진행 상황 (4)
- 2008/05/13 ZViewerAgent 에 cmd 창 열기 및 옵션 저장 추가
- 2008/04/04 ZViewer 에 항상 위 기능 추가 및 800x600 해상도에서의 버그 수정
- 2008/02/23 ZViewer 에 연속보기(Slideshow), 다국어 설치 지원 추가 (6)
- 2008/02/23 ZViewer 0.6.0 을 공개합니다.
- 2007/11/15 ZViewer 개발 방향...
- 2006/07/29 ZViewer 의 SCM 을 CVS 에서 SVN 으로 이전하다. (2)
- 2006/03/11 드디어 ZViewer 에 알씨보다 더 나아진 기능 추가~~ (1)
- 2005/11/09 ZViewer 진행 중인 소스 날리다 ㅠ.ㅜ
정말 2년 9개월 만에 새로운 버젼을 배포합니다. 감회가 새롭네요. 역시 본인이 프로그램을 써야(!!) 계속 발전이 되어갑니다. 그리고 시간이 있어야 ㅋ
자세한 내용은 [ 링크 ] 를 따라가세요~
사실 지금 작업 중인 것들은 내가 DSLR 을 구입하면서 사진들을 보다가 보통 다른 이미지 뷰어들이 자동회전기능을 지원하는데, ZViewer 에는 지원하지 않아서 시작한 일련의 작업들이었다. 자동회전을 하자니 회전정보가 필요하고, 회전정보를 얻고나니, 회전시키는게 너무 느린거 같아서, 관련 코드를 보다보니까, 하는김에 zoom 도 빠르게 하자 싶어서 관련 코드를 수정 중이다.
원래는 사진 정보 보기만 해서 0.7.0 버젼으로 릴리즈하려고 했으나, 뭔가 2% 부족해서 zoom 기능을 추가한 다음에 릴리즈하기로 했다.(릴리즈하려고 subversion 에 tag 까지 달았는데.. 뭔가 스스로 용납이 안되었음 ㅋ)
요즘 문제거리는, 이상하게 StretchDIBits() 함수에서 사진을 축소하면 색깔이 많이 깨어지는 것이었다. 이거 때문에 고생을 좀 했는데 생각해보니, 2개의 픽셀을 하나의 픽셀에 쓰게 되면, SRCCOPY 원리에 의하면, 항상 뒤의 픽셀이 앞의 픽셀을 덮어쓸 것이다. 그러면 사진 같은 경우에는 불량 화소(CCD의 특성상 생기는)들이 곳곳에 있는데(확대해보면 안다) 이런 불량 화소들이 덮어버리게 되고, 사진의 이미지는 작아지는데, 불량화소는 남아있어 결과적으로 불량화소가 더 눈에 띄이게 된다. 뭐 이런 것 같다. 그래서 열심히 찾아보니, 결국 구글님의 도움으로 찾아낼 수 있었다. 결론적으로는 SetStretchBltMode(hDC, COLORONCOLO) 을 쓰면 된다는 것!
CountS 님의 글을 보고 해결했다. 정말 감사~~ 배너라도 있었으면 클릭해드리려했는데 아쉽게도 ㅎㅎ 이런 내용들, 우리 한글로 된 정보가 인터넷에 많은 분들의 노력과 정성으로 더욱 많아졌으면 좋겠다 :)
그래서 2년 넘게 손대지 않았던 ZViewer 의 쉘 확장 기능인 ZViewerAgent 에 메뉴를 추가하기로 결정. 2년 넘게(아마 4년으로 짐작된다) 보지 않았던 쉘 확장 관련 부분을 보니까 완전 새로 공부하는 기분이었다. 함수 반환값과 인자 값이 뭐였는지도 모르겠고, 코드도 난잡하게 짜놓았었고, 여튼 좋지 않았다. 새로 공부하기를 이틀간하니까 왠만큼 코딩은 되었는데 이상하게 내 생각대로 동작되지 않는 것이었다. 그래서 땜빵으로 일단 작동하게만 해서 완료 -_-;;
간단한 기능 테스트는 잘되는데 너무 고생한 것에 비해 얻은 것은 딸랑 cmd 창 기능. 그것도 일반 사용자들은 잘 쓰지도 않는 기능. 뭐 다시 쉘 확장 관련 공부했으니까 공부한 셈 쳐야겠다.
아... 이거 만들다가 불편해서 ZAssist 만들었으니 그나마 위안은 된다 ㅋㅋ
그리고 800x600 에서 ZViewer 를 실행하면 창의 위치가 엉뚱한 곳에 가서 윈도우의 메뉴도 안보여서 무척이나 난감한 상황이 발생한다는 글이 있어서 수정했다. 간단히 현재 화면 해상도의 80% 의 가로, 세로 길이를 가지게 해서 해결했다.
회사일도 바쁘고, 정신도 없지만 이렇게라도 조금씩 해서 감을 잃지 않아야 겠다고 다시 다짐하는 하루다.
ps : 기능 추가된 버젼을 배포한 것이 아니고 작업을 했다는 겁니다. 0.7.0 버젼이 배포되면 기능을 쓰실 수 있습니다. :)
* 연속보기(Slideshow) 기능의 추가
* 설치 프로그램(nsis)에서 다국어 기능 추가
연속보기 기능은 흔히 말하는 Slideshow 기능인데 간단히 주기적으로 '다음 이미지' 버튼을 누르는 것처럼 작동하게 만들어서 20분 구현에 10분 테스트로 완성된 기능이다. 연속보기 중일 때는 항상 마지막장에서 '다음 이미지' 되었을 때 '처음 이미지' 로 가는 옵션이 작동된다. 단축키는 'G' 키. 지금 포스팅을 하면서 생각난 거지만 Slideshow 중일 때는 '화면보호기' 를 잠시 멈추게 하는 옵션도 넣어야 겠다. 전에 아는 형이 물품파는 가게에서 이런 기능이 필요하다고 해서 잠시 코딩해 둔게 있었는데 한번 찾아보고 해당 코드 찾으면 넣어야지~ ㅋ
설치 프로그램은 nsis 를 쓰고 있는데, 설치 도중 ZViewerAgent 에 연관된 dll 이 이미 탐색기에서 쓰고 있으면(즉, ZViewer 를 쓰다가 업데이트 시킬 때) 해당 dll 을 바로 쓸 수 없어서 탐색기를 죽였다가 다시 띄워야 한다. 이 때 경고 메시지를 띄우는데 이 메시지를 국제화하기 위해서 고민하다가 역시나 nsis script 를 잘모르는 관계로 filezilla2 의 소스를 참고했다. 역시 오픈소스는 프로그래머에게 특히 도움이 된다. ㅎㅎ
ZViewer 0.7.0 은 언제 릴리즈 되려나......
-
-
-
melon 2008/03/26 15:13
안녕하세요.
건의사항이 있습니다.
이미지 크기가 창의 크기보다 크면 마우스를 드래그해서 보는데...
(물론, 자동으로 축소해서 보는 기능이 있기는 하지만 가끔 원본크기로 볼 때가 있습니다.) 이미지의 크기가 너무 크면 한번에 드래그해서 전체부분을 볼 수가 없더군요.
알씨처럼 아랫부분에 썸네일처럼 작은 이미지를 뿌려주고,
┌───────────────┐
│ │
│ ┌────────┐ │
│ │ │ │
│ └────────┘ │(큰 사각형은 이미지전체의 썸네일)
└───────────────┘(작은 사각형은 현재 보고 있는 부분)
썸네일 부분에서 마우스를 드래그해서 보는 부분을 선택할 수 있으면 편할 것 같습니다.
다음 버전에 고려해 봐주십사...ㅋ
수고하세요~ ^^
릴리즈 노트에도 적었지만 너무 오랜 기간동안 릴리즈를 못해서 스스로 반성하기 위해서라도 일단 0.6.0 버젼을 릴리즈합니다. 자주자주 기능을 업데이트하고 꾸준히 발전시켜야하는데 그러지 못해서 아쉽네요. ZViewer 한테 신경 많이 써줘야겠습니다. :)
[ZViewer 0.6.0 다운로드]
변경된 점은 다음과 같습니다.
* v0.6.0(2008. 2. 20)
* freeimage library 3.10.0 로 업데이트
* jpeg2000 지원(jp2, j2k)
* 마지막 그림 파일에서 Next 했을 때 처음 그림 파일, 그 반대로의 동작도 옵션으로 설정가능(즉, 그림 보기가 순환 - loop 됨)
* 내부적으로 유니코드 지원
* 다른 드라이브의 폴더로 파일이 이동되지 않던 버그 수정
* ZViewerAgent 에서 다른 형태의 파일로 저장하기
* ZViewerAgent 의 메뉴도 국제화 - 기존의 한글화되지 않았던 것 수정
* 환경설정 파일 추가. 몇몇 옵션을 파일로 저장하고 불러오는 기능 추가.
* Enter 혹은 F 키를 눌러도 FullScreen 동작하게 변경(기존의 Alt+Enter 도 여전히 동작함)
조엘온소프트웨어를 읽고 내부적으로 유니코드를 지원하자라는 생각에 작업을 시작하고, 괜히 윈도우, 리눅스 둘다 돌아가게 하면서 UI library 를 테스트하느라 너무 엄청난 시간이 걸려버렸네요. 일단은 유니코드를 지원하게까지는 되어서 절반의 성공이라 생각합니다.
ZViewer 의 핵심 이미지 라이브러리인 freeimage 가 업데이트되어서 jpeg2000 을 지원할 수 있게 되어서 괜히 뿌듯합니다. ^^;
보통 다른 이미지 뷰어 프로그램들이 마지막 장에서 '다음장' 을 하면 처음 파일로 돌아가서 해당 기능을 추가했습니다.
이제 드디어 ZViewer 의 설정 파일을 만들고, 유저가 설정한 설정을 저장하게 되었습니다. 내부적으로는 많이 테스트했습니다만 아직 제가 만족할만한 코드의 깔끔함이 더 필요할 듯 합니다. 설정 파일은 XP 기준으로 C:\Documents and Settings\USERID\Local Settings\Application Data 에 저장됩니다. Vista 에서는 아쉽게 테스트를 못했습니다만, 이론상(!)으로는 잘 동작하리라 생각합니다. - 환경되시는 분 테스트 부탁드립니다;;
딱히 변경을 안 하던 ZViewerAgent 가 유니코드 관련으로 업데이트되면서 작은 기능이 추가되었습니다. 탐색기에서 그림 파일에 대고 오른쪽 버튼을 눌렀을 때 '다른 이름으로 저장...' 메뉴가 추가되어서 바로 이미지 파일의 형식을 변경할 수 있습니다.(예. jpg -> png)
많은 리눅스 프로그램들이 Full Screen 으로 갈 때 'F' 키를 쓰길래 간단히 추가했습니다. :p
ps : http://zviewer.wimy.com 페이지를 만들었습니다. :)
일단 회사는 퇴근하면 일단 일에서 손을 놓을 수 있지만 학교는 숙제에 텀 프로젝트에, 그리고 지금하고 있는 멤버십일까지... 일단 학교 다닐 때 일이 더 많은건 확실한거 같다. 특히 하교 후에도 숙제라는 게 버티고 있으니.. 그리고 지난 학기때는 22학점에다가 숙제 많은 과목을 2개나 듣고 있어서 더 바빴던것 같다.
그리고 방학은 멤버십 과제와 아르바이트로 다 보냈고... 이제 2학기이다. 2학기 초반은 외국 여행 준비로 바빴으니 이제 짬이 좀 생겼다.
드디어 다시 ZViewer 개발해보나 싶었는데 생각보다 심각한 난관에 부딪혔다. 내가 ZViewer 를 안 쓰는 것이다. -_-;; 다른 유명한 뷰어를 쓰는 것도 아니고, 오픈소스로 나온 멋진 뷰어가 혜성같이 등장한 것도 아닌데... 난... 리눅스를 데스크탑으로 쓰고 있다 크~ ZViewer 는 윈도우용 프로그램이란 말이닷 -_-/
그래서 내린 결론이 wxWidget 를 이용해서 윈도우 / 리눅스 양쪽에서 돌아가도록 수정해보기로 했다. 물론 아직은 계획만 하고 있다 ^^;; 한 때 한국어 로컬라이제이션을 하던 FileZilla 가 새로운 버젼으로 올라오면서 바로 wxWidget 을 통해서 윈도우 / 리눅스 둘다 지원하게 되었는데 조금 살펴보니 wxWidget 을 쓰고 있어서 그냥 내린 결정이다. 일단 이제 슬슬 시간이 나기 시작하기 때문에 간단히 양쪽에서 돌아가는데 어디까지 지원되는지, 컴파일 환경을 동일시 할 수 있는지 체크해보아야 겠다. 문제는 탐색기에서 오른쪽 버튼을 눌렀을 때 미리보기가 윈도우에서만 컴파일될 것이 뻔하기 때문에 이 부분을 별도로 빼내어야 한다는 점인데, 뭐 빼내면 되겠지.... 라는 간단한 생각을 하고 있다. ^^;;
어느덧 2004년부터 조금씩 개발한 프로그램이 5000 다운로드를 바라보고 있는데라는 생각에 간단히 포스팅해본다...
참고로 eclipse 의 플러그인인 subclipse 로 svn+ssh 를 연결하려면 간단히 eclipse 메뉴에서 Windows -> Preferences -> Team -> SVN 에서 JavaHL(JNI) 를 JavaSVN(Pure Java) 로 바꿔주면 깔끔하게 쓸 수 있다. 그렇지 않으면 svn+ssh 를 쓰기 참으로 곤란한 설정을 해줘야한다.
SVN 으로 올라온 기념으로 간단한 거 하나 커밋하고, 커밋 log 를 웹페이지에서 볼 수 있는 페이지 만들었다. 뭔가 뿌듯하다 -0-
-
다빈 2006/12/18 16:31
먼저 무료 이미지 뷰어 만들어주신것에대해 고맙다는 말씀을 드리고 싶습니다..^^
계발 로그도 우연히 보았는데 . 진행 중이신것 같아
몇가지 제안을 하려 하였으나;;
마땅히 쓸곳이 없어 있었으면 하는 기능들을 말씀 드리고 싶네요..^^
1.일단 우클릭 시 섬네일 보여주기 사이즈 조정이 있었으며 좋겠습니다.작은 감이 있어서.
2.언인스톨해도 우클릭시 섬네일 보여주기가 계속 됩니다.프로그램 설치된곳을 찾아 지워줘야 하는 점이 있네요.
3.파일 브라우저 섬네일 요 기능도 있었으면 ^^;;
제가 이미지 뷰어는 있는데로 써봤습니다..
현재 가장 좋다고 생각하는 프로램은 ashampoo 의 포토 커맨드.와
무료 였는데 지금은 배포중지 상태인 망가미야ce 2.4b가 있습니다 . (같이 사용중)망가미야는 제가 써본 프로그램 중에서 가장 빠르다고 느낍니다.zview도 빠르긴 한데 망가미야보야 아주 약간 느립니다.큰사이즈 파일 보기시..(여러 테스트 해봤습니다..)
잡소리가 많았네요...그냥 있었으면 하는 내용을 적어봤습니다..테클은 아니니 이해해 주세요
ZViewer 에 드디어 알씨보다 더 좋다고 생각되는 기능이 추가되었다. 바로 이미지 캐시 기능~~ 모든게 장점만 있는 기능은 아니지만 일단 겉으로 보기에는 이미지를 더 빨리 보여주기 때문에 ^^;;; 그렇다면 단점은 무엇이냐 당연히 캐시를 하기 때문에 메모리를 좀 더 쓴다랄까... 하긴 이건 이미 다른 많은 이미지 뷰어에서도 쓰고 ZViewer 에서도 이전 버젼에 있는 것이기 때문에 단점은 스킵~~
좀 더 소개를 해보자면~
현재 ZViewer 는 이미 이미지를 백그라운드 쓰레드에서 캐시하고 있었다. 약 50 메가 정도의 캐시를 만들어 놓으며(이 용량은 조절이 가능한데 아직 설정 파일 기능이 들어있지 않아서 하드 코딩된거나 마찬가지;;), 현재 보고 있는 파일을 기준으로 앞으로 몇개, 뒤로 몇개를 캐시하고 있는데, 이 알고리즘이 나에겐 적당히 복잡하여 이것을 완성한 후로 '음 나는 캐시에 성공했어~~' 이렇게 즐거워하고 있었다.
하지만 어느날... 내가 디카를 사게 되었다. -0-/ 그런데 어떤 문제가 있냐면 디카로는 고화질, 즉 해상도가 높은 사진을 찍게 되는데 이 이미지 파일을 ZViewer 로 보기 힘든 것이었다. 드래그를 열심히 하거나, '큰 그림을 화면에 맞게 축소' 기능을 써야하는데, 드래그해서보기에는 사진의 삘~이 안나고, 화면에 맞게 축소해서 볼려니 아무리 캐시 해놓았어도 축소하는데 시간이 걸리는 것이었다.
그래서 '에잇 축소해놓은것을 캐시해놓자' 라고 해서 화면에 맞게 축소해놓은 것을 캐시하게 바꾸었다. 하는 김에 물론 '화면에 맞게 확대' 하는 기능도 미리 화면에 맞게 확대해서 캐시~
이렇게 하는 것에 단점이 있다면, 화면 크기가 바꿀 때 캐시가 모두 깨져버린다는 것.... 음... 아직까지 해결책은 뚜렷하게 없는 것 같다. 물론 백그라운드 쓰레드에서 캐시를 다시 하니 큰 문제는 없는 것 같긴하지만.... 그리고 프로그램의 복잡도가 살짝 증가했다는 것.. 아마 나중에 '계속 회전하여 보기' 이런게 생긴다던지 그러면 수정해야할 코드가 늘어날 듯 하다.
여튼 이렇게 코드를 수정하고 디카 사진을 보니 감동~ ㅠ.ㅜ 혹시나 해서 알씨를 돌려보니... ZViewer 가 더 빠르다 더욱더 감동 ㅠ.ㅜ
당장 눈에 띄이는 몇몇 버그를 수정하고, rc 만들어서 회사 컴터와 노트북에 깔아서 몇일 테스트하고 릴리즈를 해야겠다.
역시 개발자가 불편을 느껴야 빠르게 수정을 한다는 것을 새삼느끼며.... 다음에는 뭘 작업하지 @.@
날아간 부분은 freeimage 3.8.0 으로 업데이트 한거랑 윈98 에서의 문제점 정리.... 그리고.... 생각나지 않는다 ㅠ.ㅜ 이 생각나지 않는 부분이 문제중의 문제인데.... 내가 뭘 고쳤을까 -_-;;;;
소스 버젼 관리툴로 CVS 를 쓰지만, 역시 문제는 툴이 아니라 사용자에게 있다는 깨달음을 얻으면서;; 반성... 반성 중...
안 그래도 ZViewer 요새 진행이 안되어서 좀 그런데 이런일까지 생기다니... 뭐 그래도 이런 일 있고나면 더 잘되겠지 크~

Prev
Rss Feed