BREW에서 JPEG을 리사이징을 하려고 하는데 어케 할까 고민이다.
1. 가장 무식한 방법은 2.0부터는 JPEG 디코더를 자체 지원을 하니깐 IIMage 객체로 디스플레이 객체에 뿌린 다음에 IDISPLAY_GetDeviceBitmap를 이용하여 스크린 캡쳐(??)를 한다. 리턴된 IDB를 가지고 리사이징을 하고 다시 뿌려준다. 또는 IGRAPHICS_StretchBlt를 사용해서 뿌린다.
무식한만큼 간단한 방법이긴 하다만..
문제가 생긴다. 화면이 뿌린 이미지가 액정보다 클 때는 복잡해 진다.
게다가 IGRAPHICS_StretchBlt가 아직은 약간 불안정한 감이 없지 않아 있다.
아무래도 JPEG 디코더를 만들어야 할 것 같다.
슬슬 귀찮아 지고 있는 것이다. 만들때 만들더라도 어떻게 할까 고민이다.
2. JPEG 자체를 메모리에 올려서 JPEG이미지 정보로 리사이징을 하고 그 메모리 버퍼를 그대로 IImage 객체로 변환 후 뿌리는 방법
깔끔할 것 같지만 쉬어 보이진 않는다.
3. JPEG를 BMP로 디코딩 한 후에 그 메모리 버퍼를 이용해 리사이징을 시킨다. 새로 만들어진 버퍼를 가지고 CONVERTBMP를 불러서 IImage 객체를 만든다.
아무래도 3번이 제일 날 것 같다.
이미지 크기에 따라서 Heap에서 마구 Out of Memory를 부르겠지만 적당히 예외 처리를 하면 될 듯 하다. 자료가 많아서 그닥 어렵지는 않지만 꽤나 삽질을 해야 할 듯..
IImage에서 StretchBlt를 지원하면 좀 좋아?
누가 더 쉬운 방법 아는 사람이나 BREW용 JPEG Decoder 있는 사람??
Comments List
어떤 블로거가 그러더군요. IT블로거들 소구하기엔 20대 후반 여성 캐릭터가 딱이라고.
팜 프리의 OS가 Web OS라는 얘기를 듣고는 과연 어떤 구조로 OS를 끌고갔는가 궁금했는데 Mojo 프레임워크라.. 자바 스크립트 엔진이 기본이 되는 시스템이군요. 어찌보면 안드로이드와 비슷하다는 느낌도 갖는데요(안드로이드도 어플 개발은 자바를 쓰는 것으로 알고 있습니다만).
프리메이슨이나 음모론에 관해서는 '그림자정부' 라는 책도 재미있습니다 ..