お世話になっております。
C# WPF で Canvas に描いた図形をBitmap化し、それに等に手を加えてその結果を
Canvasに反映更新せずにImage コントロールに反映させようとしております。
やろうとしている手順は
1、Canvasに描画
2、Bitmap化
3、Bitmap → byte配列化してデータを直接操作
4、結果をImageコントロールに表示
この製作過程で2のBitmap化したものを取敢えずImageコントロールに表示させようと
そのまま4、の表示をしてみたところ、同じサイズにならず少し小さくなってしまいます。
コードは以下の通りで何かが間違っているか過不足があると思いますが、いろいろ
やってみても解からず。宜しくお願いします。
環境:Visual Studio Community 2019 WPF.NetFramework4.72 Windows10
C#
1// コード中のCanv は Canvas のName です 2// コード中のIMG は Image の Name です 3public partial class MainWindow : Window 4 { 5 public MainWindow() 6 { 7 InitializeComponent(); 8 //あまり意味はない 9 IMG.Margin = new System.Windows.Thickness(24, 290, 0, 0); 10 } 11 12 private void Button_Click(object sender, RoutedEventArgs e) 13 { 14 Size size = new Size(430, 241); 15 RenderTargetBitmap renderBitmap = new RenderTargetBitmap((int)size.Width, (int)size.Height, 96.0d, 96.0d, PixelFormats.Pbgra32); 16 renderBitmap.Render(Canv); 17 IMG.Source= renderBitmap; 18 IMG.Margin = new System.Windows.Thickness(0, 290, 0, 0); 19 } 20 21 //念のため 22 private void Window_Loaded(object sender, RoutedEventArgs e) 23 { 24 Canv.Width = 430; 25 Canv.Height = 241; 26 IMG.Width = 430; 27 IMG.Height = 241; 28 IMG.Margin = new System.Windows.Thickness(24, 290, 0, 0); 29 } 30 } 31
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/14 03:07
2021/08/14 03:22
2021/08/14 04:37
2021/08/14 04:52
2021/08/14 04:54
2021/08/14 06:02
2021/08/14 06:05