|
게임을 만드시는게 아니라면 dx까지 안쓰시고, 더블버퍼링을 이용하셔도 됩니당..
임호민 님이 쓰신 글 :
: 그림은 bmp파일을 가져오게 됩니다.
: 1초를 돌리려면 60장을 가져오게 되네요... 화면에 보여주는건 루프돌려서 계속 반복해서 보여주면 되고요...
:
: 비디오램에 올리려면 directx를 사용해야 하나요?
: 정확히 60Hz를 구현하려면 어떻게 해야 하나요? builder의 timer를 믿어도 되나요? ㅋ
:
: 궁금한게 넘 많아서 죄송.. ^^;
:
: 이현진 님이 쓰신 글 :
: : 임호민 님이 쓰신 글 :
: : : 지난번 질문에 소리비람.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();
|