首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 與 GDI+ 實現雜誌翻頁動畫效果(四)—— C 區域繪製與血邊問題解決

     編輯:關於C語言

C 區域繪製流程

繪製 C 區域時使用背景圖片 pageUndersideImage 輔助。第 5 頁圖片繪製於此緩衝區,再貼近 B 區域繪製。

B、C 區域連接步驟

  1. 調整座標系原點至熱點
  2. 旋轉座標系 180-2a 度(參見圖 4)
  3. 將含 C 區域的圖片繪製至對應座標 (-x, -PAGE_HEIGHT)(參見圖 5)

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

圖 5:旋轉座標系

血邊問題與解決方案

沿對稱線排列 B、C 區域極具挑戰,易出現「血邊」(第 4 頁紅色像素外洩)。兩種變通方案:

  1. PixelOffsetMode:g.PixelOffsetMode = PixelOffsetMode.Half;
  2. 座標微調:旋轉座標前對 X 或 Y 增減 1 像素
    PathTranslationMatrix.Translate((float)hotSpot.Origin.X + 1, (float)hotSpot.Origin.Y);

啟用第一種方案請將原始碼中 USE_PIXEL_MODE_OFFSET 設為 true。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved