WPF - 在 Viewport3D 中渲染文本
我想在 Viewport3D 中呈现最多 300 个字符串(只是几个单词) - 速度很快!我想将它们渲染在不同的 Z 位置并流畅地放大和缩小。
到目前为止,我发现在 Viewport3D 中渲染文本的方法:
- 将 TextBlock 放入 Viewport2DVisual3D 中。
- 这家伙的 PlanarText 类。
- 同一个人的 SolidText 类。
- 创建我自己的 2D 面板并在其上对齐 TextBlock。每次更新相机位置时调用 InvalidateArrange() 。
所有这些都非常慢,即使仅使用 10 根字符串也无法流畅地缩放。 有人有这个方便的解决方案吗?必须能够在 Viewport3D 中渲染一些文本,而无需等待几秒钟!
I want to present up to 300 strings (just a few words) in a Viewport3D - fast! I want to render them on different Z positions and zoom in and out fluently.
The ways I have found so far to render text in a Viewport3D:
- Put a TextBlock in a Viewport2DVisual3D.
- This guy's PlanarText class.
- The same guy's SolidText class.
- Create my own 2D panel and align TextBlocks on it. Call InvalidateArrange() every time I update the camera position.
All of these are extremely slow and far apart from zooming fluently even with 10 strings only.
Does anyone have a solution for this handy? It's got to be possible to render some text in a Viewport3D without waiting seconds!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试过使用 VisualBrush 作为每个 GeometryModel3D 的材质?
像这样的事情:
Have you tried using a VisualBrush as the material for each GeometryModel3D?
Something like this: