WPF InkCanvas使用方法
WPF InkCanvas控件翻譯成中文為墨水面板。對(duì)于它的一些相關(guān)概念在國(guó)內(nèi)還是比較少的。在這里我們就為大家介紹一下使用中的經(jīng)驗(yàn)總結(jié)。#t#
下面是WPF InkCanvas的常見(jiàn)用法(假設(shè)我們的InkCanvas對(duì)象為inkCanv):
保存
你可以選擇將墨跡保存為墨跡文件或者保存為圖片
保存為墨跡文件(*.isf):
- this.inkCanv.Strokes.Save(file);
其中file為要保存到的文件流(FileStream)
保存為圖片:
我們可以先將墨跡繪制到圖片上再將圖片保存,其中要將Visual對(duì)象繪制到圖片上可以使用RenderTargetBitmap類(lèi),并采用其Render()方法.要將圖片保存可以使用BitmapEncoder類(lèi),并調(diào)用其Save()方法.
- RenderTargetBitmap rtb =
new RenderTargetBitmap(width,
height, 0, 0, PixelFormats.Default);- rtb.Render(this.inkCanv);
- BmpBitmapEncoder encoder =
new BmpBitmapEncoder();- encoder.Frames.Add(Bitmap
Frame.Create(rtb));- encoder.Save(file);
WPF InkCanvas打開(kāi)
要打開(kāi)已保存的墨跡文件(*.isf),可以使用下面的方法:
- this.inkCanv.Strokes =
new StrokeCollection(file);
WPF InkCanvas選定
向畫(huà)圖板一樣,你可以選定繪制的某些元素,選定有兩種方式,一是用戶使用鼠標(biāo)進(jìn)行選定,另一種是程序使用代碼選擇指定的墨跡.
WPF InkCanvas使用鼠標(biāo)選定
很簡(jiǎn)單地,你只需要切換InkCanvas的編輯模式就可以了.InkCanvas的EditingMode屬性是InkCanvasEditingMode枚舉類(lèi)型,你可以將其值切換為InkCanvasEditingMode.Select以便進(jìn)入選定模式.
使用代碼選定
你可以調(diào)用InkCanvas的Select()方法
復(fù)制、剪切、粘貼或刪除選定的對(duì)象
這幾個(gè)操作都比較簡(jiǎn)單,InkCanvas有對(duì)應(yīng)的方法,分別是CopySelection(),CutSelection(),Past()與Remove().
橡皮擦
要使用橡皮擦,與切換選定模式一樣,同樣是切換InkCanvas的EditingMode屬性,擦除方式有兩種,分別是InkCanvasEditingMode.EraseByPoint(按點(diǎn)擦除)與InkCanvasEditingMode.EraseByStroke(按墨跡筆畫(huà)擦除,一次擦掉不間斷的一筆).
WPF InkCanvas筆跡顏色、粗細(xì)...
要更改筆跡的相關(guān)屬性,可以設(shè)置InkCanvas的DefaultDrawingAttributes屬性,比如:
- DrawingAttributes inkDA =
new DrawingAttributes();- inkDA.Width = 5;
- inkDA.Height =5;
- inkDA.Color = Color.
FormArgb(255,255,255,255);- this.inkCanv.Default
DrawingAttributes = inkDA;
WPF InkCanvas還有很多有趣的功能,你可以參考SDK中的InkCanvas類(lèi)以獲得更多.