程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用c#和GDI+實現雜志翻頁動畫效果(3)

用c#和GDI+實現雜志翻頁動畫效果(3)

編輯:關於C語言

2、C部分進行轉換的坐標原點。

對稱線可以用下面兩個等式來描述:

a = 45 + ( (45 *x) / PAGE_WIDTH )

h = x Tan ( a )

注意角度a會隨著x的變化而變化。這個等式表明當x=0時a = 45度並且當x= PAGE_WIDTH時a = 90度。

當動畫開始時,x=0,因此B和C部分並不可見。隨著x的增加,對稱線就形成了直角三角形的斜邊。三角形由三個長度確定:對稱線、x和高度h。圖2展示了這樣一種情況。

隨著x的增加,將會出現h>= PAGE_WIDTH的情況。當這種情況出現後,對稱線與頁面相交的區域將會由三角形變成梯形。梯形的高度就是PAGE_WIDTH。圖1就是這種情況。

不管是梯形還是三角形,這個閉合路線都指出了B和C這兩個裁減區域。要想看到運行中看到這種帶有邊框的效果,在提供的源代碼中將INCLUDE_DRAW_GRAPHICS_PATH這個參數設置為true就行了。程序將會在閉合路徑的外面繪制出一個金色的輪廓。

A部分區域

這部分是要翻動的頁面在裁減出B和C部分之後的可見部分(第4頁)。

B部分區域

B部分來自於正在翻動的頁面的之下的另一頁面,在這個例子中指的是第6頁的可見部分。B部分區域就是被對稱線與頁面形成的閉合曲線所裁減的部分。在這個部分之上的頁面(第4頁)的相應部分將會被直接裁減掉。顯而易見,隨著x的增加(a也隨著增加),這個可見部分將會越來越大。

要想看A和B部分區域的關系,請將INCLUDE_UNDERSIDE_PAGE_IN_ANIMATION變量設置為false。這將把C部分從動畫效果中去掉。

C部分區域

C部分區域的圖象表示了正在翻動的頁面的背面的圖象。在這個例子中,C部分區域代表了第5頁的可見部分。C部分也是通過對稱線指定的,但是是在頁面的這一邊(對稱線的左邊)。舉個例子,當翻動第4頁時,B部分將會是第6頁的右下部分,而C部分將會是第5頁的左下部分。圖3展示了B和C之間的關系。

圖3 B和C之間的關系

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved