将来自 model3dgroup 的 3D 模型的图像渲染为位图失败

Fol*_*der 5 c# wpf bitmap helix-3d-toolkit

我正在使用 C# WPF,并且尝试从 3D 模型渲染 2D 视图,我可以将其用作 ui 项目的预览图像。

为了实现这一目标,我尝试正确使用此类:

RenderTargetBitmap 类( https://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap(v=vs.110).aspx )

这就是我尝试使用它的方式:

更新后就无所谓了

public void SetModelImage()
    {
        RenderTargetBitmap bmp = new RenderTargetBitmap(200, 200, 96, 96, PixelFormats.Pbgra32);
        PngBitmapEncoder png = new PngBitmapEncoder();
        Viewport3D myViewport3d = new Viewport3D();
        ModelVisual3D myModelVisual3D = new ModelVisual3D();
        Model3DGroup myModel3DGroup = new Model3DGroup();
        GeometryModel3D myGeometryModel = new GeometryModel3D();
        this.previewModel = new PngBitmapEncoder();
        PerspectiveCamera myPCamera = new PerspectiveCamera();

        myModel3DGroup.Children.Add(this.content);// ajoute le modele
        myModelVisual3D.Content = myModel3DGroup;
        myModelVisual3D.Content = this.content;
        myViewport3d.Children.Add(myModelVisual3D);
        bmp.Render(myViewport3d);

        this.previewModel.Frames.Add(BitmapFrame.Create(bmp));

        string filepath = "C:\\Users\\Remi\\Desktop\\toto.png";
        using (Stream stm = File.Create(filepath))
        {

            this.previewModel.Save(stm);

        }

    }
Run Code Online (Sandbox Code Playgroud)

问题是生成的Bitpmap 是全黑

完整文件 Pastbin: http: //paste.isomorphis.me/jgz

谢谢你的时间 !:)

更新: 感谢建议,我已经纠正了初始化布局的方式measure arrangeInvalidateVisual但我仍然生成了黑色位图。 在此输入图像描述