Как создать модальное окно с полупрозрачным фоном?
, VB6
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.26] |
|
|
Правила раздела Visual Basic: Общие вопросы
FAQ Сайта
FAQ Раздела
Кладовка
Наши Исходники
API-Guide
Поиск по Разделу
MSDN Library Online
Google| Страницы: (3) 1 2 [3] все ( Перейти к последнему сообщению ) |
Как создать модальное окно с полупрозрачным фоном?
, VB6
|
Сообщ.
#31
,
|
|
|
|
Этот метод вызывает LineTo. Это не имеет разницы, там хоть Ellipse, Polygon, Rectangle или любая другая, поддерживающая растровые операции (SetRop2) также все будет работать. Я прекрасно знаю что такое GDI и как он работает в режиме пользователя и в режиме ядра. Ты читай мои сообщения внимательно. |
|
Сообщ.
#32
,
|
|
|
|
Заключая содержательную беседу
Написал небольшой демо-тест, где можно наглядно увидеть все манипуляции с альфа-каналом через GDI-функции Клик в областях изображений выводит RGBA пикселя Исходники в комплекте Прикреплённая картинка
Краткие итоги: Blt-функции игнорируют альфу Line/Fill-функции зануляют альфу Функции рисования фигур ведут себя по-разному, то зануляя, то выставляя 255 Все это при SRCCOPY и COPYPEN. Другие ROP производят изменения над альфа-каналом, но не используют их для вывода Надеюсь, вопрос исчерпан и более мы к фантастическим способностям GDI рисовать с альфой возвращаться не будем Прикреплённый файл gdi_alpha_test.7z (1.09 Мбайт, скачиваний: 113)
|
|
Сообщ.
#33
,
|
|
|
|
Цитата Blt-функции игнорируют альфу Они ее копируют согласно растровой операции. Это то о чем я тебе говорил, и твой пример это доказывает в 3-й раз. Я отлично вижу что альфа канал скопировался. Цитата B.V. @ Надеюсь, вопрос исчерпан и более мы к фантастическим способностям GDI рисовать с альфой возвращаться не будем OMG! GDI функции не производят альфа-смешивание, видимо о чем ты говоришь. Но никто не говорил что GDI функции (не считая AlphaBlend, но она не из GDI32.dll) делают альфа смешивание. Цитата Line/Fill-функции зануляют альфу Ересь. GDI функции не зануляют альфу. Это доказывают мои и твой пример. Если у тебя цвет пера (ARGB) &H00FFFFFF и используешь ты CopyPen, то у тебя естественно идет копирование и если у тебя в 4-м байте 0, то он и скопируется нулем. Если же ты используешь OR, XOR или комбинации с NOT, то у тебя альфа не затирается. Это то, о чем я здесь говорю изначально. Я показал пример, где я на полупрозрачном окне, рисую линии через обычные GDI функции и они рисуются. Цитата B.V. @ Функции рисования фигур ведут себя по-разному, то зануляя, то выставляя 255. Другие ROP производят изменения над альфа-каналом, но не используют их для вывода Нужно пользоваться ими не бездумно, а хотя бы почитать что это. Все функции рисования ведут себя одинаково, за исключением вывода текста. И не совсем понятно что значит "их"? |