2012-10-05

[Windows Phone 7] Mango 密記 - Flipboard 的翻頁效果(2)-重新繪製圖形,對WriteableBitmap操作

 

接續上一篇 製作手機上面的快照縮圖 (Snapshot) 接下來 因為要做到翻頁效果..

再看一次影片..

因為作摺頁,都是從中間那地方開始,所以上一篇文章,我們快照下來的圖,我們必須把他從中間切成一半..

sshot-16_2

所以案例是 點下 btnCutRightPart 後,會將 LayoutRoot 拍成快照後, 顯示左邊部分在 imgOutput 的 Image 物件..

btnCutRightPart  的 Click 事件,說明我就寫在註解中..

private void btnCutRightPart_Click(object sender, RoutedEventArgs e)
{
      // 將 LayoutRoot 進行快照 轉為 WriteableBitmap
      WriteableBitmap bitmap = new WriteableBitmap(this.LayoutRoot, null);
 
      // 因為要從圖片中間對切 所以新圖 只需要原圖的一半寬度
      WriteableBitmap newBitmap = new WriteableBitmap(bitmap.PixelWidth / 2, bitmap.PixelHeight);
     
      for (int y = 0; y < bitmap.PixelHeight; y++)
      {
         
          for (int x = 0; x < bitmap.PixelWidth/2; x++)
          {
              try
              {
                  int pixel = bitmap.Pixels[y * bitmap.PixelWidth + x];
                  byte[] bytes = BitConverter.GetBytes(pixel);
                  // 將讀取結果重新畫在 newBitmap 上面
                  newBitmap.Pixels[y * (bitmap.PixelWidth / 2) + x] = BitConverter.ToInt32(bytes, 0);
              }
              catch { }
 
          }
      }
      // 顯示結果
 
      this.imgOutput.Source = newBitmap;
 
}

結果:


sshot-17_2


下一篇:  製作翻頁效果 , 將會講解如何進行翻轉


附檔下載: