BitBlting с Windows Aero

Уже несколько месяцев я пытаюсь решить проблему с правильным рендерингом изображений на стекле Aero. Из того, что я собрал до сих пор, для этого вам нужно визуализировать графический объект как растровое изображение, потому что для Aero требуется альфа-канал. Чтобы быть более конкретным, я пытаюсь сделать идеальное текстовое поле без мерцания (и другие элементы управления). Я не хочу возвращаться к рендерингу части аэродинамической формы, так как мне может понадобиться более одного текстового поля. Кроме того, функция DrawToBitmap работает, но слишком медленно, поэтому я хочу сделать это с помощью BitBlt.

Сейчас у меня есть элемент управления Graphics для TextBox, хранящийся как IntPtr. Как мне взять этот графический элемент управления, загрузить его в растровое изображение и нарисовать это растровое изображение с помощью BitBlt? (или, как предполагает ссылка, исправление альфа-значения объекта Graphics)

Итак, мой вопрос: можно ли сделать это с Visual Basic 2010 .NET?

Если кто-нибудь может ответить на этот вопрос, предоставить информацию или эквивалентную альтернативу, я был бы очень признателен.

Вот ссылка на предыдущую тему, которую я сделал, где проблема описана гораздо более подробно:

http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/f0e9fa0c-9535-4cdb-826f-673ef58c408a

С наилучшими пожеланиями,

  • Джейк М.

P. S.

Эта ссылка очень помогла и решает мою проблему. Однако решение в самом последнем сообщении, кажется, то, что я ищу, однако я понятия не имею, как преобразовать это в Visual Basic.

Aero: как рисовать сплошные (непрозрачные) цвета на стекле? < /а>


person Blazing Ardor    schedule 26.10.2011    source источник