TGIFImage 모듈을 설치하면 gif 이미지를 TImage에 로딩할 수 있습니다.
애니메이션이 있는 gif 인 경우는 바로 화면에서 알아서 플레이가 됩니다.
그런데 때에 따라 이 애니메이션을 stop 시켰다가 다시 플레이할 일이 필요한데,
이를 때 아래와 같은 코드로 제어할 수 있습니다.
{
TGIFImage *gif = (TGIFImage *)ImageGIFSample->Picture->Graphic;
gif->Animate = Play Stop 여부;
}
아주 간단한 거지만,
TImage 컴포넌트에 gif 그림을 로딩시킨 후
어떻게 해야할지 모를 수도 있어서.
자세한 것은 TGIFImage 관련 데모 파일을 찾아 보면 됩니다.
그런데 많이 알려진 TGIFImage는 안정성이 떨어지므로,
자칫 프로그램을 불안정하게 만들수 있기 때문에,
릴리즈하기 전에 확실한 안정성을 확보하지 못했다면
그 사용을 신중히 고려하는게 좋습니다.
|
박지훈.임프님과 김태선님 글을 읽고 애니메이션 gif 를 작동시켰습니다.
박지훈.임프님과 김태선님께 감사드립니다.
델파이와 C++빌더의 2007 이상에서는 gif가 기본 지원이 되고 있습니다.
(그 이전 버전에서는, TGIFImage 모듈을 설치해야 하는 것 같습니다.)
혹시, 필요한 다른 분들을 위해서... 팁을 추가하겠습니다.
애니메이션이 깜박거림을 없애려면
thisForm->DoubleBuffered = true ;
을 넣어주면 됩니다.
제 코드는 아래와 같습니다. (환경은 Windows 10 / RAD Studio 10.3 Rio 입니다.)
String stDocPath, stFileName, stTarget ;
stDocPath = ExtractFilePath(ParamStr(0)) ;
stFileName = "MainImage.gif" ;
stTarget = stDocPath + stFileName ;
if (FileExists(stTarget)) {
GIFImageDefaultAnimate = true;
GIFImageDefaultTransparent = true ;
thisForm->DoubleBuffered = true ; // 화면 깜박임 방지..
thisForm->Image1->Picture->LoadFromFile(stTarget) ;
} ;
여러분, 즐프하세요~