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

델파이 Q&A
Delphi Programming Q&A
[13792] Re:Delphi 2009 TImage VCL 에 GIF를 넣으면 프레임수가 변경되는 현상
기군태 [kleopat] 1996 읽음    2011-08-13 00:19
자문 자답합니다.

기군태 님이 쓰신 글 :
: TForm1 = class(TForm)
: ...
: imgOrg: TImage;
: ...
: End;
:
: Var
:   gifSlide: TGIFImage;
: Begin
:   gifSlide := TGIFImage(Form1.imgOrg.Picture.Graphic);
:   ShowMessageBox(IntToStr(gifSlide.Images.Count))
:
:
: Form1의 imgOrg에 4 프레임짜리 GIF를 넣고
: Runtime에 확인해 보면 64개(16배)로 프레임 수가 늘어나는 데 대책이 없을 까요?

인터넷에서 알아본 결과
GifImg unit에 버그가 있어서 그렇답니다.
문제는 standard design time package를 uninstall/remove 할 수 없다네요.
딴 package들과 얽히고 설켜있어서요.

대신에 수정된 GifImg unit을 새 design time package에 넣어서 TGIFImage image format을 Override하라고 합니다.
매우 쉽답니다:

1. Delphi IDE를 시작한다.
2. 수정된 GifImg.pas를 열고 다른 이름으로 (GifImgFixed.pas 와 같이) 저장
3. 메뉴에서 [File] -> [New] -> [Package]를 누른다.
4. 메뉴에서 [Project] -> [Add to Project…]르 누른다.
5. 수정한 (앞서 다른 이름으로 저장한) GifImgFixed unit을 선택하여 package에 넣는다.
6. 프로젝드를 저장하고 컴파일하고 install 한다.
7. 그리고 원래의 프로젝트를 열고 한번 돌려 본다. 귀신같이 수정되었네요.

참고자료
http://melander.dk/delphi/gifimage/#faq_35
수정된 Unit 다운로드
http://www.tolderlund.eu/delphi/

+ -

관련 글 리스트
13791 Delphi 2009 TImage VCL 에 GIF를 넣으면 프레임수가 변경되는 현상 기군태 1786 2011/08/12
13792     Re:Delphi 2009 TImage VCL 에 GIF를 넣으면 프레임수가 변경되는 현상 기군태 1996 2011/08/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.