用Silverlight 3的位圖API實現(xiàn)可寫位圖
原創(chuàng)【51CTO快譯】Silverlight 3 這次帶來的全新位圖API實現(xiàn)了如下的三個首要目標:
◆從無到有創(chuàng)建位圖,以像素為單位
◆在客戶端處理從服務(wù)器或本地加載的圖像
◆從視覺樹到位圖的分區(qū)渲染,以達成類似于截屏的功能(另外,預(yù)渲染和緩存元素有時也能起到提高性能的作用)
從無到有創(chuàng)建位圖
創(chuàng)建位圖的關(guān)鍵在于System.Windows.Media.Imaging下的WriteableBitmap類。運用此類可以創(chuàng)建一個預(yù)先分配到普通圖像元素上的源。
﹤Grid x:Name="LayoutRoot"﹥ |
以下提供的代碼可以實現(xiàn)一些很有趣的圖形效果。
private void BuildBitmap() WriteableBitmap b = b.Lock();
// you could certainly do your own masking here // set the pixel value b.Invalidate(); MyBitmap.Source = b; } |
最終成品如下:
可以明顯看出,以上代碼經(jīng)歷了四個流程:鎖定,寫入,無效化,解鎖。這是WPF兼容所需要的。
你也可以修改一個現(xiàn)有的位圖,并渲染該位圖的內(nèi)容控件。
原文:Silverlight 3 – The Bitmap API / WriteableBitmap
作者:Pete Brown
【編輯推薦】