C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[35706] 관심과 답변 감사 드립니다.^^(내용 무)
머슴.한석복 [han8783] 773 읽음    2004-06-16 17:50

방태윤 님이 쓰신 글 :
: 아마 8bit 로 고쳐질때 팔레트에 대한 인덱스 찾아넣느라고 시간이 걸릴겁니다.
: 그래서 이렇게 해봤더니 빠르더군요...당연하죠..인텍스 찾을 데이터가 적으므로..
:
: Graphics::TBitmap *bmp = new Graphics::TBitmap();
: bmp->Width  = 4;
: bmp->Height = 4;
: bmp->PixelFormat = pf8bit;
: bmp->Width  = img_w;
: bmp->Height = img_h;
:
: 도움이 될라나요..
:
: 머슴.한석복 님이 쓰신 글 :
: : TBitmap 을 실시간으로 생성을 해서,
: : 이미지를 저장하는 루틴을 작성 했는데, 이상하리만치 시간이 많이 걸려서 디버깅을 해보니까,
: :
: : PixelFormat 을 변환 하는 과정에서 엄청난 시간을 소비 하더군요.
: :
: : 간단하게 소스를 기술 하면,
: :
: :     Graphics::TBitmap *bmp = new Graphics::TBitmap();
: :     bmp->Width  = img_w;
: :     bmp->Height = img_h;
: :
: :     bmp->PixelFormat = pf8bit; <<--------문제의 그 라인..이 라인이 처리 되는데만 1초에 가까운 시간이.
: :
: : 이미지는 대략 1k x 1k정도 이구요. 그레이스케일로 저장 하고자 하는 거죠.
: : 그런데, 이런 방법이 있더라구요. TImage를 하나 동적으로 생성 해서, 거기에 그레이스케일 이미지를 먼저 하나 LoadFromFile로 로딩 한 후에, 그러니까,
: :
: :     TImage *timg = new TImage(this);
: :     timg->LoadFromFile("sample.bmp");
: :     이 timg->Picture->Bitmap을 저장 하는 루틴에 인자로 보내서 처리를 하니까, 정상적인 처리(주어진 시간내에)가 가능 하더군요.
: :
: : 제가 알고 싶은 것은, pixelformat을 변경 해주는 방법입니다.
: : 그냥 직접 소스 레벨에서 프로퍼티를 셋팅 하는것에는 이런 문제가 있고,
: : TImage에서 처리하는 것에는 아무 문제가 없어 보이니까 어떤 다른 방법이 있지 않나 해서요.
: :
: : 아시는 분, 리플좀 부탁 드립니다.

+ -

관련 글 리스트
35697 TBitmap 에 관련된 질문 하나 올립니다. 머슴.한석복 933 2004/06/16
35703     Re:TBitmap 에 관련된 질문 하나 올립니다. 방태윤 932 2004/06/16
35706         관심과 답변 감사 드립니다.^^(내용 무) 머슴.한석복 773 2004/06/16
35709             Re:관심과 답변 감사 드립니다.^^(내용 무) 방태윤 754 2004/06/16
35711                 Re:Re:관심과 답변 감사 드립니다.^^(내용 무) 머슴.한석복 858 2004/06/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.