Показывать вне экрана Google Планета Земля на панели? - PullRequest
0 голосов
/ 01 мая 2009

Можно ли захватить графический объект, созданный плагином браузера Google Планета Земля, из элемента управления .NET WebBrowser?

С помощью этого графического объекта я мог бы создать изображение для использования в качестве фонового изображения для панели, которую затем смогу нарисовать поверх.

Нельзя просто использовать элемент управления WebBrowser под элементом управления Panel, поскольку плагин Google Планета Земля не работает.

Получение графического объекта браузера просто возвращает пустым. Метод DrawToBitmap браузера (без intelisense) возвращает веб-страницу, но без изображения Google Планета Земля.

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 12 мая 2009

Взгляните на этот мой проект: http://code.google.com/p/winforms-geplugin-control-library/ это поможет вам. Хитрость заключается в том, чтобы захватить текущее изображение из плагина как растровое изображение и затем использовать его (например, двойную буферизацию).

Особенно смотрите метод 'ScreenGrabButton_Click' в 'GEToolStrip.cs', чтобы увидеть, как захватить изображение.

0 голосов
/ 01 октября 2009

После нескольких исследований, проб и ошибок я вынужден признать поражение на этом, кажется невозможным показывать Google Планета Земля на панели, когда веб-браузер отключает его.

Решение состоит в том, чтобы жить с ограничением:

  • Установите прозрачную форму, которую вы хотите нарисовать на фоне
  • Создайте новую форму, которая будет родительской для формы чертежа
  • Показать Google Earth в новой форме
  • Правильно выровняйте формы и разрешите ребенку управлять родителем

Или перейти на Microsoft Live Earth, поскольку уже существует подтверждение концепции , которое работает для WPF и winforms.

0 голосов
/ 01 мая 2009

Приношу свои извинения, если я неправильно понял вопрос - вы пытаетесь отобразить Google Планета Земля в программе Windows Forms? Если это так, взгляните на Google Earth COM API.

API Google Планета Земля COM

...