Aganstrong 2023-08-12 13:17 采纳率: 59.3%
浏览 8
已结题

对AGI STK二次开发的一个问题

C#对AGI STK进行二次开发,如何对2D窗口快照输出,Camera.Snapshot.SaveToFile是3D输出

  • 写回答

1条回答 默认 最新

  • ㋡星星长安 2023-08-14 16:57
    关注

    如果你想在C#中对AGISTK进行二次开发,你可以使用AGISTK提供的API和库来实现。为了在2D窗口中快速输出照片,你可以使用Camera.Snapshot方法和SaveToFile函数来生成和保存二维图片。

    首先,确保你已经正确地安装和配置了AGISTK库。然后,你可以使用以下代码来实现照片的快照输出和保存:

    using AGI.Foundation.Graphics;
    
    // 创建AGI场景对象
    Scene scene = new Scene();
    // 添加相机到场景中
    Camera camera = scene.CentralBodies.Earth.Stations["MyStation"].Sensors.GetByName("MyCamera") as Camera;
    
    // 在2D窗口中快速输出照片
    Image snapshot = camera.Snapshot(scene.SceneViewModel.Context);
    snapshot.SaveToFile("path/to/save/image.png");
    

    上述代码中,我们首先创建了一个AGI场景对象。然后,我们获取了场景中的相机对象,并将其保存到camera变量中。最后,我们通过调用Snapshot方法来获取相机的快照并保存到指定的文件路径中。

    请确保在使用SaveToFile函数保存照片之前,你已经为此添加了正确的命名空间引用。你还需要替换代码中的"MyStation""MyCamera"为你实际使用的站点和相机名称。

    这样,你就可以在C#中对AGISTK进行二次开发,并在2D窗口中快速输出照片了。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月28日
  • 创建了问题 8月12日