从HelixViewport3D创建图像

时间:2019-07-12 08:43:24

标签: c# wpf 3d helix-3d-toolkit

Bitmap的当前视图创建jpg(最终我想保存HelixViewport3D)的正确方法是什么?

我当前正在使用这个(简化的)类作为DataContext来将STL File加载到ViewPort

public class StlFile : INotifyPropertyChanged
{
    Model3D file;
    Model3DGroup objectToShow = new Model3DGroup();

    public event PropertyChangedEventHandler PropertyChanged;

    public Model3DGroup Model
    {
        get
        {
            return objectToShow;
        }

        set
        {
            objectToShow = value;    
            OnPropertyChanged("Model");
        }
    }

    public void LoadFile(string path)
    {
        Material material = new DiffuseMaterial(new SolidColorBrush(Colors.Beige));
        ModelImporter importer = new ModelImporter();
        importer.DefaultMaterial = material;

        file = importer.Load(path);
        objectToShow.Children.Add(file);
        Model = objectToShow;
    }

    protected void OnPropertyChanged(string info)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(info));
    }
}

此XAML代码:

<HelixToolkit:HelixViewport3D ZoomExtentsWhenLoaded="True" Margin="0,63,0,0" Name="helixViewport" ShowViewCube="False" IsMoveEnabled="True">
    <HelixToolkit:SunLight/>
    <ModelVisual3D Content="{Binding Model}"/>
</HelixToolkit:HelixViewport3D>

到目前为止,所有这些都工作正常。我现在想要做的是将HelixViewport3d的当前视图保存到jpg文件中。我在文档中进行了搜索,但实际上找不到任何相关信息。谢谢您的帮助!

0 个答案:

没有答案