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

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

編輯:關於C語言

在繪制C部分區域時,我們用了一個後台的圖象來輔助,就是pageUndersideImage。這個新圖象的裁減區域通過對稱線來確定。第5頁的圖象被繪制在這個新的緩沖區裡面,這個新建的圖象將會靠近B部分區域繪制。

連接B和C部分區域

當C部分的後台圖像已經准備好,它通過下面的步驟繪制:

首先調整系統坐標到熱點。

將系統坐標旋轉180-2a度,請看圖4了解它們的關系。

將含有C部分區域的圖像繪制到相應坐標(-x,-PAGE_HEIGHT)。圖5標明了這種旋轉。

圖4 調整角度以匹配對稱線

圖5 旋轉坐標系

我發現沿著對稱線排列B和C部分區域非常具有挑戰性因為當前頁面的顏色容易出“血邊”(因為第4頁的一些紅色像素)。當我繪制B或者C部分區域時,我用了一個變通方法:指定圖形對象的pixeloffsetmode以pixeloffsetmode.half方式繪制。

g.PixelOffsetMode= PixelOffsetMode.Half;

我還發現,在繪制C部分區域之前,增加一個像素(或者減掉一個像素)來旋轉坐標也可以防止出“血邊”。

PathTranslationMatrix.Translate((float)hotSpot.Origin.X+1,

(float)hotSpot.Origin.Y);

要使用pixeloffsetmode變通方法,請將源代碼中的USE_PIXEL_MODE_OFFSET設置為true

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