0
我有自定義畫布(WPF)面板。從後面的代碼我需要使用WriteableBitmap
(或WriteableBitmapEx
)呈現文本。在Canvas上使用WriteableBitmap渲染文本
我該怎麼做?
我有自定義畫布(WPF)面板。從後面的代碼我需要使用WriteableBitmap
(或WriteableBitmapEx
)呈現文本。在Canvas上使用WriteableBitmap渲染文本
我該怎麼做?
使用RenderTargetBitmap對象的Render方法,有效地把你的畫布的捕獲作爲一個內存流 - 然後創建一個位圖:
var targetBitmap = new RenderTargetBitmap((int)yourCanvas.ActualWidth, (int)yourCanvas.ActualHeight, 96d, 96d, System.Windows.Media.PixelFormats.Default);
targetBitmap.Render(yourCanvas);
// add the RenderTargetBitmap to a Bitmap encoder
var encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(targetBitmap));
// create the memory stream
var memoryStream = new MemoryStream();
encoder.Save(memoryStream);
// create the bitmap
var controlBitmap = new System.Drawing.Bitmap(memoryStream);