程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi實現圖像變換加載效果完整代碼

Delphi實現圖像變換加載效果完整代碼

編輯:Delphi

Delphi實現圖像變換加載效果完整代碼,也就是實現圖像的移動效果,可以從中心到四周變換,從左上角到右下角變換,從左到右、從中間到兩側變化等,將靜止的圖片變成動畫移動的效果。完整代碼:

vIEw source print? 001 unit Unit1; 002 interface 003 uses 004 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 005 StdCtrls; 006 type 007 TForm1 = class(TForm) 008 Button1: TButton; 009 Button2: TButton; 010 Button3: TButton; 011 Button4: TButton; 012 Button5: TButton; 013 Button6: TButton; 014 procedure Button5Click(Sender: TObject); 015 procedure Button1Click(Sender: TObject); 016 procedure Button3Click(Sender: TObject); 017 procedure Button2Click(Sender: TObject); 018 procedure Button4Click(Sender: TObject); 019 procedure FormCreate(Sender: TObject); 020 procedure Button6Click(Sender: TObject); 021 private 022 { Private declarations } 023 procedure ShowButtons(Sender:Tobject); 024 procedure HideButtons(Sender:Tobject); 025 public 026 { Public declarations } 027 BMPFileName: string; 028 end; 029 var 030 Form1: TForm1; 031 implementation 032 const 033 Step=200; 034 var 035 Bitmap:Tbitmap; 036 X0,Y0:integer; 037 MidX,MidY:integer; 038 RatioX,RatioY:real; 039 {$R *.DFM} 040 procedure TForm1.HideButtons(Sender: Tobject); 041 //使窗體上按鈕不可見 042 begin 043 Button1.Visible:=False; 044 Button2.Visible:=False; 045 Button3.Visible:=False; 046 Button4.Visible:=False; 047 Button5.Visible:=False; 048 Button6.Visible:=False; 049 end; 050 procedure TForm1.ShowButtons(Sender: Tobject); 051 //使窗體上按鈕可見 052 begin 053 Button1.Visible:=True; 054 Button2.Visible:=True; 055 Button3.Visible:=True; 056 Button4.Visible:=True; 057 Button5.Visible:=True; 058 Button6.Visible:=True; 059 end; 060 // 清屏 061 procedure TForm1.Button5Click(Sender: TObject); 062 var 063 I:Integer; 064 begin 065 Bitmap:=Tbitmap.Create; //創建一個圖像對象 066 Bitmap.LoadFromFile(BMPFileName);//導入圖像文件 067 X0:=Form1.Width div 2; 068 Y0:=Form1.Height div 2; 069 RatioX:=Bitmap.Width/Step; 070 RatioY:=Bitmap.Height/Step; 071 for I:=0 to Step do 072 begin 073 MidX:=Round(RatioX*I*0.5); 074 MidY:=Round(RatioY*I*0.5); 075 BitBlt(Form1.Canvas.Handle,X0-MidX,Y0-MidY,Round(RatioX*I),Round(RatioY*I), 076 Bitmap.Canvas.Handle,X0-MidX,Y0-MidY,blackness);//清屏 077 end; 078 Bitmap.Free;//釋放圖片對象 079 end; 080 // 從中心到四周顯示圖像 081 procedure TForm1.Button1Click(Sender: TObject); 082 var 083 I:Integer; 084 begin 085 HideButtons(Sender);//隱藏所有按鈕 086 Button5Click(Sender);//清屏 087 Bitmap:=Tbitmap.Create;//創建圖像對象 088 Bitmap.LoadFromFile(BMPFileName);//導入圖像對象 089 X0:=Width div 2; 090 Y0:=Height div 2; 091 RatioX:=Bitmap.Width/Step; 092 RatioY:=Bitmap.Height/Step; 093 for I:=0 to Step do 094 begin 095 MidX:=Round(RatioX*I*0.5); 096 MidY:=Round(RatioY*I*0.5); 097 BitBlt(Form1.Canvas.Handle,X0-MidX,Y0-MidY,Round(RatioX*I),Round(RatioY*I), 098 Bitmap.Canvas.Handle,X0-MidX,Y0-MidY,srccopy);//圖像從中心到四周顯示 099 end; 100 Bitmap.Free;//釋放圖像對象 101 ShowButtons(Sender);//顯示所有按鈕 102 end; 103 // 從左上角到右下角顯示圖像 104 procedure TForm1.Button2Click(Sender: TObject); 105 var 106 I:Integer; 107 begin 108 HideButtons(Sender);//隱藏所有按鈕 109 Button5Click(Sender);//清屏 110 Bitmap:=Tbitmap.Create;//創建圖像對象 111 Bitmap.LoadFromFile(BMPFileName);//導入圖像對象 112 RatioX:=Bitmap.Width/Step; 113 RatioY:=Bitmap.Height/Step; 114 for I:=0 to Step do 115 begin 116 BitBlt(Form1.Canvas.Handle,0,0,Round(RatioX*I*1),Round(RatioY*I*1),Bitmap. 117 Canvas.Handle,0,0,srccopy);//從左上角到右下角顯示圖像 118 end; 119 Bitmap.Free;//釋放圖像對象 120 ShowButtons(Sender);//顯示所有按鈕 121 end; 122 //從左到右顯示圖像 123 procedure TForm1.Button3Click(Sender: TObject); 124 var 125 I:Integer; 126 begin 127 HideButtons(Sender);//隱藏所有按鈕 128 Button5Click(Sender);//清屏 129 Bitmap:=Tbitmap.Create;//創建圖像對象 130 Bitmap.LoadFromFile(BMPFileName);//導入圖像對象 131 X0:=0; 132 Y0:=0; 133 RatioX:=Bitmap.Width/Step; 134 RatioY:=Bitmap.Height/Step; 135 for I:=0 to Step do 136 begin 137 MidX:=Round(RatioX*I); 138 MidY:=Round(RatioY*I); 139 BitBlt(Form1.Canvas.Handle,0,0,Round(RatioX*I*1),Height,Bitmap.Canvas.Handle,0, 140 0,Srccopy);//從左到右顯示圖像 141 end; 142 Bitmap.Free;//釋放圖像對象 143 ShowButtons(Sender);//顯示所有按鈕 144 end; 145 //從中間到上下兩側顯示圖像 146 procedure TForm1.Button4Click(Sender: TObject); 147 var 148 I:Integer; 149 begin 150 HideButtons(Sender);//隱藏所有按鈕 151 Button5Click(Sender);//清屏 152 Bitmap:=Tbitmap.Create;//創建圖像對象 153 Bitmap.LoadFromFile(BMPFileName);//導入圖像對象 154 X0:=Width div 2; 155 Y0:=0; 156 RatioX:=Bitmap.Width/Step; 157 RatioY:=Bitmap.Height/Step; 158 for I:=0 to Step do 159 begin 160 MidX:=Round(RatioX*I*0.5); 161 MidY:=Round(RatioY*I); 162 BitBlt(Form1.Canvas.Handle,X0-MidX,0,Round(RatioX*I*0.5),Width,Bitmap._ 163 Canvas.Handle,X0-MidX,0,Srccopy); 164 BitBlt(Form1.Canvas.Handle,Width div 2,0,Round(RatioX*I*0.5),Width, 165 Bitmap.Canvas.Handle,Width div 2,0,Srccopy); 166 //從中間到上下兩側顯示圖像 167 end; 168 Bitmap.Free;//釋放圖像對象 169 ShowButtons(Sender);//顯示所有按鈕 170 end; 171 procedure TForm1.FormCreate(Sender: TObject); 172 var 173 AppPath: string; 174 begin 175 AppPath:=ExtractFileDir(Application.ExeName);//獲取當前程序的路徑 176 BMPFileName:=AppPath+’\tree.bmp’;//獲取圖片路徑(讀者可以在此設置自己圖片文件的路徑) 177 end; 178 procedure TForm1.Button6Click(Sender: TObject); 179 begin 180 Close;//關閉窗體,退出程序 181 end;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved