Windows Mobile下實現圖片的3D效果

來源:互聯網
上載者:User

有些時候需要酷酷的效果,來裝扮一下我們的程式。

以下是類似S1從右至左滑動的效果。

 

 

 

 

 

 

看起來還有點那個意思吧?

其實原理並不複雜,用到了一個畫圖函數StretchBlt。

 

函數功能:函數從源矩形中複製一個位元影像到目標矩形,必要時按目前目標裝置設定的模式進行映像的展開或壓縮。
  函數原型:BOOL StretchBlt(HDC hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, DWORD dwRop);
  參數:
  hdcDest:指向目標裝置環境的控制代碼。
  nXOriginDest:指定目標矩形左上方的X軸座標,按邏輯單位表示座標。
  nYOriginDest:指定目標矩形左上方的Y軸座標,按邏輯單位表示座標。
  nWidthDest:指定目標矩形的寬度,按邏輯單位表示寬度。
  nHeightDest:指定目標矩形的高度,按邏輯單位表示高茺。
  hdcSrc:指向源裝置環境的控制代碼。
  nXOriginSrc:指向源矩形地區左上方的X軸座標,按邏輯單位表示座標。
  nYOriginSrc:指向源矩形地區左上方的Y軸座標,按邏輯單位表示座標。
  nWidthSrc:指定源矩形的寬度,按邏輯單位表示寬度。
  nHeightSrc:指定源矩形的高度,按邏輯單位表示高度。
  dwRop:指定要進行的光柵操作。光柵作業碼定義了系統如何在輸出操作中組合顏色,這些操作包括刷子、源位元影像和目標位元影像等對象。參考BitBlt可瞭解常用的光柵作業碼列表。
  傳回值:如果函數執行成功,那麼傳回值為非零,如果函數執行失敗,那麼傳回值為零。

我們把一個矩形分成若干個小的矩形,針對每個小矩形,把裡面的內容通過StretchBlt函數縮小或放大到特定的目的地區域。通過肉眼看上去,就有了3D的效果。

 

只要想象力足夠豐富,可以用該函數弄出各種花哨的效果。比如旋轉門,比如放大鏡,比如......很多很多。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.