|
임호민 님이 쓰신 글 :
: 지난번 질문에 소리비람.OJ님께서 많은 답변을 주셔서 감사 드립니다.
:
: VFW을 사용할까 DirectX를 사용할까 고민도 많이 하고, VC++을 사용할까도 고민을 많이 했습니다만, 아직 고민하고 있습니다. ㅠㅠ
:
:
: 질문요지는 저겁니다. "각각 다른 BMP를 1초에 한장씩 display하는 방법".
:
: 제일 간단한 방법이 무엇일까요?
보여줄 BMP 데이터를 어떻게 가져오시는지 모르겠지만,
화면을 TImage로 만들고 타이머나 쓰레드에서 지정한 시간마다 TImage를 갱신하는것이 제일 간단할 텐데요.
BMP들이 파일로 되어 있다면 TImage::LoadBitmap() 함수로 읽고,
메모리상에 있다면 TImage::Canvas의 핸들을 얻어와서 BitBlt 함수로 갱신해도 될듯합니다.
_image->Picture->Bitmap->Width=_bmp->Width; // TImage 화면 크기 변경.
_image->Picture->Bitmap->Height=_bmp->Height;// TImage 화면 크기 변경.
_image->Canvas->Lock();
// BitBlt 등의 함수등으로 TImage::Canvas::Handle 에 bmp 이미지를 복사.
BitBlt(_image->Canvas,0,0,_bmp->Width,_bmp->Height,_bmp->Handle,0,0,SRCCOPY);
_image->Canvas->Unlock();
|