- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
C#,WPF,Helix Toolkit .我正在尝试从 HelixViewport3D
视口(viewport)(如 here 所述)保存图像,但仍有问题。
预期方法:将图像渲染到视口(viewport)并使用 Viewport3DHelper.SaveBitmap()
或类似方法简单地保存它。
Viewport3DHelper.SaveBitmap(helixPlot.Viewport, @"E:\test.bmp", null, 4, BitmapExporter.OutputFormat.Png);
问题:它运行但捕获的图像是空白的。我最好的猜测是 Helix Toolkit 正在异步渲染(?)在我保存它时没有图像可供抓取。
可能的解决方法 1:渲染完成后响应事件。
问题是:没有合适的事件可以订阅。
可能的解决方法 2: 添加一个内联延迟以允许图像在保存之前呈现。 (笨拙且不可靠,但将是朝着正确方向迈出的一步)。
Thread.Sleep(2000);
Viewport3DHelper.SaveBitmap(helixPlot.Viewport, @"E:\test.bmp", null, 4, BitmapExporter.OutputFormat.Png);
相关问题:在我的代码执行完成之前,图像不会显示。如果我添加 10 秒的延迟,我只会再得到一个空白屏幕 10 秒。
可能的解决方法 3: 添加一个计时器以便渲染图像,然后我可以从计时器已用事件中保存图像。
System.Timers.Timer timer = new System.Timers.Timer();
...
timer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
timer.Interval = 2000; // two seconds
timer.Start();
....
private void OnTimedEvent(object source, ElapsedEventArgs e)
{
Viewport3DHelper.SaveBitmap(helixPlot.Viewport, @"E:\test.bmp", null, 4, BitmapExporter.OutputFormat.Png);
}
问题在于:虽然图像已成功渲染并可供拍摄,但计时器在不同的线程中运行,我无法从事件处理程序中引用 HelixPlot 控件。我得到:
System.InvalidOperationException: 'The calling thread cannot access this object because a different thread owns it.'
可能的解决方法 4:使用 Timer.SynchronizingObject
问题在于:似乎不可能在 WPF 中轻松/简单地执行此操作。我能行with a lot of additional code目前这可能是我可用的最佳选择,但由于冗长和缺乏稳健性,它似乎非常次优。
是否没有一些合理直接的方法来实现我想要做的事情?
问题的根源似乎是在调用方法完成执行之前图像不会呈现到视口(viewport)。我真的不明白这是为什么。
编辑:我在另一个论坛上得知 Helix Toolkit 正在 WPF 复合渲染线程上渲染。然而,在谷歌搜索之后,我仍然不知道如何等待渲染完成。
最佳答案
我在这里得到了答案:
Asynchronous operations within a loop - how to keep control of execution?
似乎没有可用的完成事件,所以我能找到的唯一解决方法是使用 async
。
关于c# - 从 Helix Toolkit 保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63008755/
我正在尝试使用 C# 在我的 WPF 世界中为一条鱼制作动画我正在使用 helixtoolkit 导入和显示对象 现在要创建的代码如下: public MainViewModel() { var
本文整理了Java中org.apache.helix.ZNRecord类的一些代码示例,展示了ZNRecord类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等
本文整理了Java中org.apache.helix.ZNRecordUpdater类的一些代码示例,展示了ZNRecordUpdater类的具体用法。这些代码示例主要来源于Github/Stacko
在新的 Habitat 设置上遇到问题...遵循所有步骤,发布项目等,但现在我收到此错误: 拒绝访问路径“$(sourceFolder)\feature\accounts\serialization”
我在 Helix Toolkit 上找到了一个示例,它调用了 ScatterPlot,这非常接近我真正需要的。但是我找不到任何关于如何向创建的对象(在本例中为球体)添加一些 onclick 事件监听器
我有一组程序图像,我想将它们作为广告牌添加到我的 helix 3D 应用程序中。 目前我的应用程序如下所示: public partial class _3DControl { HelixVi
说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。 这并不意味着没有其他这样的文本编辑器。Vim 的现代增强版 Neovim,是许多这样的例子
本文整理了Java中org.apache.helix.task.WorkflowContext类的一些代码示例,展示了WorkflowContext类的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中org.apache.helix.task.WorkflowConfig类的一些代码示例,展示了WorkflowConfig类的具体用法。这些代码示例主要来源于Github/Sta
本文整理了Java中org.apache.helix.messaging.ZNRecordRow类的一些代码示例,展示了ZNRecordRow类的具体用法。这些代码示例主要来源于Github/Stac
我在一个使用 的项目中工作Perforce 存储库。所以我使用 P4 和 P4V 工具,进行提交和提交。现在我决定让我的机器更干净,所以我重新安装了 Ubuntu,并进行了新的设置。 安装P4和P4V
我正在使用 HelixToolkit 来展示一些 3-D 模型。窗口右下角有一个图标。怎么可能隐藏?请看这个截图: 最佳答案 您只需设置 HelixViewport3D的 ShowViewCube属性
C#,WPF,Helix Toolkit .我正在尝试从 HelixViewport3D 视口(viewport)(如 here 所述)保存图像,但仍有问题。 预期方法:将图像渲染到视口(viewpo
我想将 Apache Helix 与 ZooKeeper 以外的共识服务一起使用。有可能这样做吗?需要实现哪些 API? 最佳答案 Helix 使用 ZooKeeper 来维护集群的状态,并在集群状态
Apache Helix 和 Hadoop YARN (MRv2) 之间有什么区别。有没有人有这两种技术的经验?有人能给我解释一下 Helix 相对于 YARN 的优点/缺点,以及为什么 Linked
本文整理了Java中org.apache.helix.manager.zk.ZNRecordSerializer类的一些代码示例,展示了ZNRecordSerializer类的具体用法。这些代码示例主
本文整理了Java中org.apache.helix.manager.zk.ZKHelixAdmin类的一些代码示例,展示了ZKHelixAdmin类的具体用法。这些代码示例主要来源于Github/S
本文整理了Java中org.apache.helix.store.zk.ZkHelixPropertyStore类的一些代码示例,展示了ZkHelixPropertyStore类的具体用法。这些代码示
本文整理了Java中org.apache.helix.ZNRecord.getRawPayload()方法的一些代码示例,展示了ZNRecord.getRawPayload()的具体用法。这些代码示例
本文整理了Java中org.apache.helix.ZNRecord.getIntField()方法的一些代码示例,展示了ZNRecord.getIntField()的具体用法。这些代码示例主要来源
我是一名优秀的程序员,十分优秀!