마음의 안정을 찾기 위하여 - [Delphi][Form] Form에 Fade-Out 효과를 주는 기법!
1961417
191
322
관리자새글쓰기
태그위치로그방명록
별일없다의 생각
dawnsea's me2day/2010
색상(RGB)코드 추출기(Color...
Connection Generator/2010
최승호PD, '4대강 거짓말 검...
Green Monkey**/2010
Syng의 생각
syng's me2DAY/2010
천재 작곡가 윤일상이 기획,...
엘븐킹's Digital Factory/2010
[Delphi][Form] Form에 Fade-Out 효과를 주는 기법!
Delphi/폼 (Form) | 2008/07/01 09:54

Image 컴퍼넌트를 이용하여 Form Fade-Out 기법을 주는 방법에 대해서 알아보자.

Fade-Out 효과란 영화 "조명을 끄고 완전히 어두운 상태에서 장면전환을 하는 것 암전방법에는 페이드 아웃 서서히 조명을 끄는 것 과 컷 아웃 순간적으로 조명을 끄는 것 이 있다."

Form에 Image컴퍼넌트를 올려놓고, alClient 속성을 준후 적당한 Image(Bitmap)를 로딩한후에 아래의 함수를 호출하여 Fade-Out 효과를 줄 수 있다.

Procedure FadeOut(const BMP:TImage; Pause:integer) ;
Var
  BytesPorScan : integer;
  w,h : integer;
  p : pByteArray;
  counter : integer;
Begin
  If Not (BMP.Picture.Bitmap.PixelFormat in [pf24Bit, pf32Bit]) Then
    raise exception.create('지원하지 않는 BMP 포맷입니다.') ;
  Try
    BytesPorScan:= Abs(Integer(BMP.Picture.Bitmap.ScanLine[1])
                   -Integer(BMP.Picture.Bitmap.ScanLine[0])) ;
  Except
    raise exception.create('오류') ;
  End;
  { Image 픽셀의 RGB 값을 감소시킨다. }
  For Counter:=1 to 256 Do Begin
    For h:=0 to BMP.Picture.Bitmap.Height-1 Do Begin
      P:=BMP.Picture.Bitmap.ScanLine[h];
      For w:=0 to BytesPorScan-1 Do
        If P^[w] >0 then P^[w]:=P^[w]-1;
    End;
    Sleep(Pause) ;
    BMP.Refresh;
  End;
End;

2008/07/01 09:54 2008/07/01 09:54
Article tag list Go to top
View Comment 0
Trackback URL :: 이 글에는 트랙백을 보낼 수 없습니다
 
 
 
 
: [1] ... [529][530][531][532][533][534][535][536][537] ... [855] :
«   2021/11   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
전체 (855)
출판 준비 (0)
My-Pro... (41)
사는 ... (492)
블로그... (22)
My Lib... (32)
게임 ... (23)
개발관... (3)
Smart ... (1)
Delphi (75)
C Builder (0)
Object... (0)
VC, MF... (9)
Window... (1)
Open API (3)
Visual... (0)
Java, JSP (2)
ASP.NET (0)
PHP (4)
Database (12)
리눅스 (28)
Windows (23)
Device... (1)
Embedded (1)
게임 ... (0)
Web Se... (2)
Web, S... (19)
잡다한... (5)
프로젝트 (0)
Personal (0)
대통령... (9)
Link (2)