將 InkCanvas 裏面的畫面,保存爲圖片
* 該方法,保存的圖片沒有黑色的邊框
private void ImageSave(InkCanvas inkCanvas, string _imageFile)
{
double width = inkCanvas.ActualWidth;
double height = inkCanvas.ActualHeight;
RenderTargetBitmap bmpCopied = new RenderTargetBitmap((int)Math.Round(width), (int)Math.Round(height), 96, 96, PixelFormats.Default);
DrawingVisual dv = new DrawingVisual();
using (DrawingContext dc = dv.RenderOpen())
{
VisualBrush vb = new VisualBrush(inkCanvas);
dc.DrawRectangle(vb, null, new Rect(new System.Windows.Point(), new System.Windows.Size(width, height)));
}
bmpCopied.Render(dv);
using (FileStream file = new FileStream(_imageFile,FileMode.Create, FileAccess.Write))
{
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(bmpCopied));
encoder.Save(file);
}
}