質問するログイン新規登録

回答編集履歴

2

VisualToMat 関数をもっと柔軟に。

2017/12/01 06:10

投稿

gazette2
gazette2

スコア179

answer CHANGED
@@ -1,13 +1,13 @@
1
1
  Visualの内容をMatクラスに変換させる関数を作ってみました。
2
2
 
3
3
  ```ここに言語を入力
4
- private Mat VisualToMat(Visual visual)
4
+ private Mat VisualToMat(FrameworkElement element)
5
5
  {
6
- int w = (int)inkCanvas.ActualWidth;
6
+ int w = (int)element.ActualWidth;
7
- int h = (int)inkCanvas.ActualHeight;
7
+ int h = (int)element.ActualHeight;
8
8
 
9
9
  RenderTargetBitmap rtb = new RenderTargetBitmap(w, h, 96d, 96d, PixelFormats.Pbgra32);
10
- rtb.Render(visual);
10
+ rtb.Render(element);
11
11
 
12
12
  byte[] bitmapBytes = new byte[w * h * 4];
13
13
  rtb.CopyPixels(bitmapBytes, w * 4, 0);

1

関数の名前を変えました

2017/12/01 06:10

投稿

gazette2
gazette2

スコア179

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  Visualの内容をMatクラスに変換させる関数を作ってみました。
2
2
 
3
3
  ```ここに言語を入力
4
- private Mat VisualToBitmapBytes(Visual visual)
4
+ private Mat VisualToMat(Visual visual)
5
5
  {
6
6
  int w = (int)inkCanvas.ActualWidth;
7
7
  int h = (int)inkCanvas.ActualHeight;
@@ -17,11 +17,11 @@
17
17
 
18
18
  InkCanvasの内容だけが必要な場合は
19
19
  ```ここに言語を入力
20
- var mat = VisualToBitmapBytes(inkCanvas);
20
+ var mat = VisualToMat(inkCanvas);
21
21
  ```
22
22
  背景イメージと描画した絵を一緒に取るには
23
23
  ```ここに言語を入力
24
- var mat = VisualToBitmapBytes(ContentPanel);
24
+ var mat = VisualToMat(ContentPanel);
25
25
  ```
26
26
  こんな風になります。
27
27