Jika Anda pernah melakukan surfing di internet, Anda tentunya tidak asing dengan efek fade out, karena di internet cukup banyak situs yang menggunakan efek ini untuk mempercantik halaman web mereka.
Efek fade out merupakan suatu efek perubahan warna, misal perubahan warna dari warna terang menuju ke warna gelap, di mana setiap langkah perubahan ditampilkan sehingga tercipta efek transformasi bagi yang melihat.
Delphi menyediakan fungsi yang berguna untuk mendapatkan efek fade out.
Berikut adalah kode selengkapnya:
unit UMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons; type TForm4 = class(TForm) Image1: TImage; BitBtn1: TBitBtn; procedure BitBtn1Click(Sender: TObject); private { Private declarations } procedure FadeOut(const BMP: TImage; Pause: Integer); public { Public declarations } end; var Form4: TForm4; implementation {$R *.dfm} procedure TForm4.BitBtn1Click(Sender: TObject); begin FadeOut(Image1, 5); end; procedure TForm4.FadeOut(const BMP: TImage; Pause: Integer); var BytesForScan, w, h, counter: Integer; p: pByteArray; begin if not(BMP.Picture.Bitmap.PixelFormat in [pf24Bit, pf32Bit]) then raise exception.Create('Error, bitmap format not supported.'); try BytesForScan:= Abs(Integer(BMP.Picture.Bitmap.ScanLine[1]) - Integer(BMP.Picture.Bitmap.ScanLine[0])); except raise Exception.Create('Error'); end; 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 BytesForScan - 1 do if p^[w] > 0 then p^[w]:= p^[w]-1; end; Sleep(Pause); BMP.Refresh; end; end; end.
Comments
Post a Comment