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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[1018] TGIFImage 이용시 Animation on/off 제어
김태선 [cppbuilder] 8758 읽음    2010-11-24 17:00
TGIFImage 모듈을 설치하면 gif 이미지를 TImage에 로딩할 수 있습니다.
애니메이션이 있는 gif 인 경우는 바로 화면에서 알아서 플레이가 됩니다.
그런데 때에 따라 이 애니메이션을 stop 시켰다가 다시 플레이할 일이 필요한데,
이를 때 아래와 같은 코드로 제어할 수 있습니다.


{
    TGIFImage *gif = (TGIFImage *)ImageGIFSample->Picture->Graphic;
    gif->Animate =  Play Stop 여부;
}

아주 간단한 거지만,
TImage 컴포넌트에 gif 그림을 로딩시킨 후
어떻게 해야할지 모를 수도 있어서.

자세한 것은 TGIFImage 관련 데모 파일을 찾아 보면 됩니다.

그런데 많이 알려진 TGIFImage는 안정성이 떨어지므로,
자칫 프로그램을 불안정하게 만들수 있기 때문에,
릴리즈하기 전에 확실한 안정성을 확보하지 못했다면
그 사용을 신중히 고려하는게 좋습니다.
초행길 [bluepos]   2021-09-08 01:06 X
혹시 필요하신 분이 계실 것 같아 글을 남깁니다.

박지훈.임프님과 김태선님 글을 읽고 애니메이션 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) ;

    } ;

여러분, 즐프하세요~

+ -

관련 글 리스트
1018 TGIFImage 이용시 Animation on/off 제어 김태선 8758 2010/11/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.