Я хочу сделать изображение моего окна просмотра, но я знаю только следующее:
Image myImage = new Image();
RenderTargetBitmap bmp;
bmp = new RenderTargetBitmap((int)this.Width, (int)this.Height, 96, 96, PixelFormats.Pbgra32);
bmp.Render(myViewPort);
myImage.Source = bmp;
myImage.Stretch = Stretch.Uniform;
Я использую фактический размер и высоту окон, чтобы быть уверенным, что bmp становится "достаточно большим"даже если область просмотра занимает меньшую часть окна
Область просмотра сопротивляется в сетке, подобной этой
<Grid Grid.Column="1" Name="ViewPortGrid" Background="SteelBlue" >
<Viewport3D Name="myViewPort" >
</Viewport3D>
</Grid>
Я не могу использовать ViewPortGrid.Widht / Height или myViewPort.Widht / Heightпри создании bmp это NaN.
Есть ли лучшие способы создания изображения в окне просмотра?
Есть ли способ получить истинный размер области просмотра, чтобы созданиеRenderTargetBitmap равен размеру области просмотра (использование размера окна делает изображение намного больше, чем нужно)?
/ Stefan