代码之家  ›  专栏  ›  技术社区  ›  stevehipwell

在面板上显示屏幕外的谷歌地球?

  •  0
  • stevehipwell  · 技术社区  · 15 年前

    是否可以从.NET WebBrowser控件捕获由Google Earth浏览器插件创建的图形对象?

    有了这个图形对象,我可以创建一个图像作为面板的背景图像,然后我可以在面板顶部绘制。

    不能在面板控件下使用WebBrowser控件,因为GoogleEarth插件不起作用。

    获取浏览器图形对象只返回空白。浏览器drawToBitmap方法(无intelisense)返回网页,但不返回Google Earth图像。

    有什么想法吗?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Fraser    15 年前

    看看我的这个项目: http://code.google.com/p/winforms-geplugin-control-library/ 这会对我们有所帮助。这里的技巧是将插件中的当前图像捕获为位图,然后使用它(如双缓冲)。

    特别是请参见“getoolstrip.cs”中的“screengrabbutton”方法,了解如何捕获图像。

        2
  •  0
  •   Khadaji    15 年前

    如果我误解了这个问题,我很抱歉-你想在Windows窗体程序中显示GoogleEarth吗?如果是这样,请看一下GoogleEarthcomAPI。

    Google Earth COM API

        3
  •  0
  •   stevehipwell    15 年前

    经过更多的研究和尝试,我不得不承认这一点失败了,似乎不可能显示谷歌地球上的一个面板,当网络浏览器控制主机它是在屏幕外。

    解决方案要么是活在限制之下:

    • 将要在背景上绘制的表单设置为透明
    • 创建新表单作为绘图表单的父级
    • 在新窗体上显示Google Earth
    • 正确对齐窗体并允许子级驱动父级

    或者切换到Microsoft Live Earth,因为 proof of concept 适用于WPF和WinForms。