Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
DelphiPemrograman

Animasi Masking Form Delphi #167

Ikan dapat berenang di air

andrypein.net : Masih dalam tema animasi, kali ini tentang animasi masking form delphi dimana saat mouse kita digerakkan maka akan muncul efek masking pada image nya.

Penampakannya bisa dilihat pada gambar animasi dibawah ini :

Animasi Masking Form Delphi

Supaya bisa dipahami aing tambahkan komentar di source code sebagai deskripsi penjelasan singkat.

Ok next lanjut siapkan form dan satu buah TImage.

Pilih gambar pada image namun hanya yang berekstensi .BMP ingat gan,hanya .BMP, selain itu maka si animasi tidak akan berjalan.

Atur-atur gambar, dan buat dia stretch di propertiesnya.

Pada kodingan nya, terlebih dahulu tambahkan variabel global dengan tipe HRGN nama bebas lah di bawah TForm1.

var
  Form1: TForm1;
  region : HRGN; //holdRegion

Lalu pada form OnCreate beri kode :

procedure TForm1.FormCreate(Sender: TObject);
begin
 region:=CreateEllipticRgn(0,0,100,100);
end;

Masih pada form, beri event OnDestroy dan masukan kode ini :

procedure TForm1.FormDestroy(Sender: TObject);
begin
 DeleteObject(region);
end;

Lalu pada Image nya, beri event OnMouseMove dan ketik kode :

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
 Temp : TBitmap;
begin
 Temp:=TBitmap.Create;
 Temp.Width:=Image1.Width;
 Temp.Height:=Image1.Height;
 ExtSelectClipRgn(Temp.Canvas.Handle,Region,RGN_AND);
 //buat bitmap,dan Image1 akan menjadi invisible
 OffsetClipRgn(Temp.Canvas.Handle,x-25,y-25);
 //region yang terpotong akan ditandai
 Temp.Canvas.Draw(0,0,image1.Picture.Bitmap);
 {pindahkan gambar yang tersimpan pada image1 ke bitmap.
 area yang terpotong akan tergambar sebagai lingkaran
 dengan area kecil
 }
 Canvas.Draw(image1.Left,image1.Top,Temp);
 //tampilkan pada form dengan hasil sebuah lingkaran
 Temp.Free;
 //bebaskan memori bitmap
end;

Terakhir dan masih pada form lagi beri event OnKeyDown ketik kode :

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if key = VK_ESCAPE then
  close;
end;

Selesai dan dicoba di run maka akan sperti gif yang diatas.

Dikoleksi saja gan unduh apps animasi masking form delphi nya di aing.

Download

*AFK

Related Articles

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button