На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
Страницы: (3) 1 2 [3]  все  ( Перейти к последнему сообщению )  
> Как создать модальное окно с полупрозрачным фоном? , VB6
    Цитата antonn @
    какая Line? конкретно у тебя что это за функция?

    Этот метод вызывает LineTo. Это не имеет разницы, там хоть Ellipse, Polygon, Rectangle или любая другая, поддерживающая растровые операции (SetRop2) также все будет работать.
    Цитата antonn @
    это и есть настоящий GDI

    Я прекрасно знаю что такое GDI и как он работает в режиме пользователя и в режиме ядра. Ты читай мои сообщения внимательно.
    Сообщение отредактировано: TheTrik -
      Заключая содержательную беседу
      Написал небольшой демо-тест, где можно наглядно увидеть все манипуляции с альфа-каналом через GDI-функции
      Клик в областях изображений выводит RGBA пикселя
      Исходники в комплекте

      Прикреплённая картинка
      Прикреплённая картинка


      Краткие итоги:
      Blt-функции игнорируют альфу
      Line/Fill-функции зануляют альфу
      Функции рисования фигур ведут себя по-разному, то зануляя, то выставляя 255
      Все это при SRCCOPY и COPYPEN. Другие ROP производят изменения над альфа-каналом, но не используют их для вывода

      Надеюсь, вопрос исчерпан и более мы к фантастическим способностям GDI рисовать с альфой возвращаться не будем


      Прикреплённый файлПрикреплённый файлgdi_alpha_test.7z (1.09 Мбайт, скачиваний: 113)
        Цитата
        Blt-функции игнорируют альфу

        :facepalm: Они ее копируют согласно растровой операции. Это то о чем я тебе говорил, и твой пример это доказывает в 3-й раз.
        Я отлично вижу что альфа канал скопировался.
        Цитата B.V. @
        Надеюсь, вопрос исчерпан и более мы к фантастическим способностям GDI рисовать с альфой возвращаться не будем

        OMG! :facepalm:
        GDI функции не производят альфа-смешивание, видимо о чем ты говоришь. Но никто не говорил что GDI функции (не считая AlphaBlend, но она не из GDI32.dll) делают альфа смешивание.
        Цитата
        Line/Fill-функции зануляют альфу

        Ересь. :fool:
        GDI функции не зануляют альфу. Это доказывают мои и твой пример. Если у тебя цвет пера (ARGB) &H00FFFFFF и используешь ты CopyPen, то у тебя естественно идет копирование и если у тебя в 4-м байте 0, то он и скопируется нулем. Если же ты используешь OR, XOR или комбинации с NOT, то у тебя альфа не затирается. Это то, о чем я здесь говорю изначально. Я показал пример, где я на полупрозрачном окне, рисую линии через обычные GDI функции и они рисуются.
        Цитата B.V. @
        Функции рисования фигур ведут себя по-разному, то зануляя, то выставляя 255.
        Другие ROP производят изменения над альфа-каналом, но не используют их для вывода

        Нужно пользоваться ими не бездумно, а хотя бы почитать что это. Все функции рисования ведут себя одинаково, за исключением вывода текста. И не совсем понятно что значит "их"?
        Сообщение отредактировано: TheTrik -
        1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
        0 пользователей:
        Страницы: (3) 1 2 [3]  все


        Рейтинг@Mail.ru
        [ Script execution time: 0.2352 ]   [ 17 queries used ]   [ Generated: 4.06.26, 07:26 GMT ]