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
[12753] Re:TBitmap 형을 char 형으로 저장한후 다시 읽을수 있나요?
묻지마다쳐 [] 939 읽음    2001-11-16 14:59
문정원 님이 쓰신 글 :
: char *b;
: Graphics::TBitmap *bmp = new Graphics::TBitmap;
: bmp->LoadFromFile(...)
:
: b = (char *)malloc(비트맵크기);
: memcpy(b, bmp, 비트맵크기);
:
: 이렇게 저장한후 다시 b에 저장된 내용을 비트맵에 넣을수있나요?
: 그리구 비트맵 크기는 어떻게 구하나요?
: 알려주세요...

저런식으로 하면 팔레트 정보를 다잊어 버릴겁니다
256색 비트맵도 있고, 하이컬러 비트맵도 있고, 투루칼라도 있을건데 저런식으로 비트맵을 데이터로 보관하고 있는건 옳지 않다고 봅니다

어느분은  ScanLine으로 하신다고 하시는데..
그건 256색 비트맵이면 오류가 안생기겠으나.. 256색 이상이면 char*로는 안될거고
int* 가필요할겁니다 scanline이 뱉어내는값이 void*니깐 형변환해서 써야것죠..

SaveToStream 이라는 메소드가 있읍니다

TMemoryStream* mstream = new TMemoryStream();
try
{
  bmp->SaveToStream(mstream);
 
  //여기에 mstream에 데이터들이 들어가 있으니깐
  //쓰기 나름이겠죠..
  비트맵크기같은건..bmp->Width, bmp->Height등으로 알수있음...

}
__finally
{
   delete mstream;
}

+ -

관련 글 리스트
12746 TBitmap 형을 char 형으로 저장한후 다시 읽을수 있나요? 문정원 739 2001/11/16
12753     Re:TBitmap 형을 char 형으로 저장한후 다시 읽을수 있나요? 묻지마다쳐 939 2001/11/16
12748     Re:TBitmap 형을 char 형으로 저장한후 다시 읽을수 있나요? 915 2001/11/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.