|
17 / 17 / 0
Регистрация: 04.06.2012
Сообщений: 88
|
||||||
Полупрозрачное рисование01.11.2012, 18:29. Показов 2674. Ответов 10
Метки нет (Все метки)
Здравствуйте!
Вопрос в следующем: имеется компонент TImage. Я рисую на нём кривую (например синусоиду) и закрашиваю верхнюю область в красный цвет с помощью метода FloodFill. Как мне сделать закраску полупрозрачной??? Вот картинка: И вот код, по которому я закрашиваю выделенную мышкой область в красный цвет:
0
|
||||||
| 01.11.2012, 18:29 | |
|
Ответы с готовыми решениями:
10
Полупрозрачное окно Сделать полупрозрачное меню Как наложить полупрозрачное изображение |
|
|
|
| 01.11.2012, 23:37 | |
|
Используй функцию AlphaBlend()
0
|
|
|
17 / 17 / 0
Регистрация: 04.06.2012
Сообщений: 88
|
|
| 02.11.2012, 12:59 [ТС] | |
|
Изучил, но этот компонент работает только с изображениями, помещёнными в Image. Но у меня вопрос был о том как мне сделать закраску кистью полупрозрачной? То есть этот вопрос относится к Canvas'у.
0
|
|
|
|
|
| 02.11.2012, 13:42 | |
|
Не знаю, возможна ли заливка цветом с учетом альфа-канала.
Если заливаемая область однотонна, то, как вариант, можно вычислять результирующий цвет от наложения одного на другой с прозрачностью и заливать уже этим цветом.
0
|
|
|
17 / 17 / 0
Регистрация: 04.06.2012
Сообщений: 88
|
|
| 02.11.2012, 15:07 [ТС] | |
|
Эм...я вас не понял. Поясните пожалуйста.
0
|
|
|
|
|
| 02.11.2012, 15:55 | |
|
0
|
|
|
17 / 17 / 0
Регистрация: 04.06.2012
Сообщений: 88
|
|
| 02.11.2012, 17:26 [ТС] | |
|
Вроде разобрался с AlphaBlend(). Но теперь проблема в следующем: вот начальная картинка на Image1 и синусоида на Image2 (нарисована на Canvas'е):
Но в результате делается полупрозрачной не только выделенная область, но и вся остальная: Как с этим бороться? Кстати, в Image2 загружена картинка с белым фоном. Я конечно понимаю что это как раз таки из-за него, но иначе никак... Что посоветуете?
0
|
|
|
|
||
| 05.11.2012, 13:19 | ||
|
Этот флаг указывает, что в изображении каждый пиксель имеет альфа-канал. Но вычисление же результирующего цвета непонятно, как происходит (вычисление происходит совсем по-другому нежели без этого флага). Похоже единственный вариант - это написать свою функцию AlphaBlend, поддерживающую полупрозрачность совместно с прозрачностью. У меня есть наработка этой функции, но выложу не раньше, чем завтра (сейчас у меня ее с собой нету)
0
|
||
|
|
||
| 05.11.2012, 16:03 | ||
|
Я привел ссылку там вариант с AlphaBlend(), но я там также привел пример как обработать попиксельно.
Добавлено через 2 минуты
"альфблендить" полуволну отдельно, а потом накладывать её на рисунок...
0
|
||
|
|
|
| 06.11.2012, 14:00 | |
|
Как и обещал. Выкладываю свой пример. В нем используется функция MyAlphaBlend, которая накладывает одно изображение на другое с учетом полупрозрачности, а также учиватывая цвет, выбранный в качестве прозрачного. По скорости неплохо отрабатывает, еще лучше оптимизировать наверно не получится.
1
|
|
|
17 / 17 / 0
Регистрация: 04.06.2012
Сообщений: 88
|
|
| 07.11.2012, 15:59 [ТС] | |
|
kzru_hunter, огромное спасибо!!! То что нужно!
Добавлено через 2 минуты Но что-то сложновато всё сделано
0
|
|
| 07.11.2012, 15:59 | |
|
Помогаю со студенческими работами здесь
11
Полупрозрачное окно в анимации AVI. Добавить на кнопку полупрозрачное изображение На старом ЖК - мониторе полупрозрачное пятно. Как создать модальное полупрозрачное окно? Как вывести полупрозрачное сообщение с заданной задержкой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|