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 있는 사람??
* 2006/09/22 19:43에 작성한 글의 백업본입니다.
'개발 관련' 카테고리의 다른 글
| 게임툴에 대한 단상과 맵툴 Mappy 1.4.11 (0) | 2025.10.22 |
|---|---|
| KTF WIPI COD 컴파일 이후 삭제 버튼이 생기지 않을 때 (0) | 2025.10.21 |
| 큐리텔폰 QPST 서비스 코드 (0) | 2025.10.17 |
| SKT UAProfile 관련 서버 개발시 (4) | 2025.10.17 |
| 휴대폰의 Background 에서 발생하는 이벤트 (3) | 2025.10.17 |
