3D 视口尺寸

发布于 2024-12-04 15:26:29 字数 738 浏览 0 评论 0原文

我想制作我的视口的图像,但我知道的唯一方法是以下

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>

我在创建 bmp 时不能使用 ViewPortGrid.Widht/Height 或 myViewPort.Widht/Height 因为它们是 NaN。

有没有更好的方法来创建视口图像?

有没有办法获得视口的真实大小,以便 RenderTargetBitmap 的创建等于视口的大小(使用窗口大小使图像比需要的大得多)?

/斯特凡

I want to make a image of my viewport but the only way I know is the following

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;

I am using the windows actual size and height to be sure that the bmp get "big enough" even if the viewport takes up a smaller part of the window

The viewport resist in a grid like this

<Grid Grid.Column="1" Name="ViewPortGrid" Background="SteelBlue" >
    <Viewport3D Name="myViewPort" >
    </Viewport3D>
</Grid>

I can not use ViewPortGrid.Widht/Height or myViewPort.Widht/Height when creating the bmp becosue these are NaN.

Are there better ways of creating an image of the viewport ?

Is there a way of getting the true size of the viewport so the creating of the RenderTargetBitmap is equal to the size of the viewport (using the window size makes the image much bigger than needed) ?

/Stefan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谁人与我共长歌 2024-12-11 15:26:29

尝试使用 .ActualWidth 和 .ActualHeight 属性。

这与 WPF 中的渲染和处理方式有关,这与 WinForms 完全不同。

请参阅:

http://learnwpf.com/post/2007/03/14/Why-is-the-WidthHeight-Property-for-many-Elements-e28098NaNe28099-in-WPF.aspx

Try using the .ActualWidth and .ActualHeight properties.

This has to do with the way things are rendered and handled in WPF, which is completely different from WinForms.

See:

http://learnwpf.com/post/2007/03/14/Why-is-the-WidthHeight-Property-for-many-Elements-e28098NaNe28099-in-WPF.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文