我正在做一个OCR项目。我必须从inkcanvas中的输入中获取图像,以便在下一步中处理,即将此图像转换为二维数组。
我对如何从inkcanvas获取位图图像进行处理感到困惑。我一直在寻找许多来源的解决方案,但其中很多只是将墨迹保存到文件流中。
请帮帮我! 非常感谢
答案 0 :(得分:1)
查看此博文: http://www.centrolutions.com/Blog/post/2008/12/09/Convert-WPF-InkCanvas-to-Bitmap.aspx
这会让你得到一个位图的字节数组,因为你正在进行足够的OCR。
答案 1 :(得分:0)
我知道这个问题比较老,但我还必须从墨水画布上获取位图。因此,要回答有关如何直接从墨水画布中获取位图的问题,这是一个解决方案。希望它仍然有帮助。
private System.Drawing.Image ConvertInkCanvasToImage()
{
//create temporary InkCanvas or send it in as a parameter
InkCanvas inkCanvas = new InkCanvas();
inkCanvas = viewModel.InkCanvas;
//render bitmap
RenderTargetBitmap rtb = new RenderTargetBitmap((int)inkCanvas.ActualWidth, (int)inkCanvas.ActualHeight, 96, 96, System.Windows.Media.PixelFormats.Default);
rtb.Render(inkCanvas);
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
rtb.Render(inkCanvas);
//save to memory stream or file
System.IO.MemoryStream ms = new System.IO.MemoryStream();
encoder.Save(ms);
//creat bitmap with memory stream or file
Bitmap bitmap = new Bitmap(ms);
return bitmap;
}