所謂百葉窗效果,就是將畫布分成若干個區域,各區域以 漸進方式同時復制圖形,就象翻動的百葉窗一樣.以下就是一 個顯示特效的過程實例: 首先,新建一個工程,在窗體上添加兩個IMAGE控件,在控件 IMAGE1的PICTURE屬性中導入一幅位圖(*.bmp),并將IMAGE1 的VISIBLE屬性設為FALSE。 然后,在代碼窗口中定義如下過程: PRocedure TForm1.fan; var r1:Trect; list,r,every:integer; begin list:=1; every:=trunc(screen.Height/10)+1; While list<=every do begin for r:=0 to 10 do begin r1:=rect(0,r*every,screen.Width,R*every+list); image2.Canvas.CopyRect(r1,image1.Canvas,r1); end; update; Inc(list); end; end; 以后就可以在程序中需要的地方調用了。 下面就讓我們看一下這是如何實現的,代碼中RECT(X1,Y1,X2,Y2) 表示選定的矩形范圍,(X1,Y1)是矩形左上角坐標,(X2,Y2)是矩形 右下角坐標。圖形顯示由COPYRECT(R1,CANVAS,R2)完成,其中R1是 目標區域,R2是被復制區域,CANVAS是被復制對象(它也可以是一個 TBITMAP的實例)。