5

私はOCRプロジェクトをやっています。次のステップで処理するために、inkcanvas の入力から画像を取得する必要があります。つまり、この画像を 2 次元配列に変換します。

私は、インクキャンバスからビットマップ画像を取得して処理する方法について混乱しています。私は多くのソースから解決策を探してきましたが、それらの多くはインクキャンバスをファイルストリームに保存するだけです.

私を助けてください!本当にありがとう

4

2 に答える 2

1

このブログ投稿を確認してください: http://www.centrolutions.com/Blog/post/2008/12/09/Convert-WPF-InkCanvas-to-Bitmap.aspx

OCR を実行しているので、ビットマップのバイト配列が得られます。これで十分です。

于 2011-07-29T10:59:44.570 に答える
1

この質問は古いことは知っていますが、インク キャンバスからビットマップを取得する必要もありました。インク キャンバスから直接ビットマップを取得する方法に関する質問に答えるために、ここに解決策があります。それでも役立つことを願っています。

    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;
    }
于 2020-09-16T14:37:46.460 に答える