Silverlight 3中的bitmap API
SL3中的Bitmap API,是影像處理的基礎,它讓我們得以直接在記憶體中建立一個點陣圖畫布,使用的方法很簡單,直接透過Imaging底下的WriteableBitmap即可:
建構函式有三種呼叫方式,可隨您的需要使用:
例如,底下的程式碼將會建立一張空白的畫布在記憶體中:
而WriteableBitmap物件的Pixels屬性則可以讓我們設定點陣圖的影像:
而上面的Pixel則可以透過底下這樣的方式計算出來:
透過這樣的方式,您可以很輕易的建立出類似底下這樣的影像雜點效果:
Dim wBitmap As New System.Windows.Media.Imaging.WriteableBitmap(…)
建構函式有三種呼叫方式,可隨您的需要使用:
WriteableBitmap(影像來源BitmapSource)
WriteableBitmap(寬Int32,高Int32)
WriteableBitmap(任何物件UIElement, Transform物件)
例如,底下的程式碼將會建立一張空白的畫布在記憶體中:
Dim wBitmap As New System.Windows.Media.Imaging.WriteableBitmap(640,480)
而WriteableBitmap物件的Pixels屬性則可以讓我們設定點陣圖的影像:
wBitmap.Pixels(y * wBitmap.PixelHeight + x) = pixel
而上面的Pixel則可以透過底下這樣的方式計算出來:
Dim brg As Byte() = New Byte(3) {}
'Blue, B
brg(0) = CByte(color.B)
'Green, G
brg(1) = CByte(color.G)
'Red, R
brg(2) = CByte(color.R)
'透明度
brg(3) = color.A
Dim pixel As Integer = BitConverter.ToInt32(brg, 0)
透過這樣的方式,您可以很輕易的建立出類似底下這樣的影像雜點效果:
留言