|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.02.2008, 13:11 | #1 |
Пользователь
Регистрация: 13.04.2007
Сообщений: 65
|
Наложение растров
При помощи CreateDIBSection созданы два BitMapa. На первом рисуется график а на втором какая-либо фигура. Как наложить эти два битмапа так, чтобы второй DIB с прозрачным фоном лежал поверх первого.
Заранее благодарен! |
18.02.2008, 14:38 | #2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
BitBlt, TransparentBlt
удобней вторая, цвет задал и всё
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 18.02.2008 в 14:41. |
19.02.2008, 04:17 | #3 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
mutabor, не совсем. BitBlt и TransparentBlt для работы с контекстами, а у EdNovice - DIB-секции. Для них все удобства фактически сокращаются до одной единственной StretchDIBits (зато появляются другие) и вывод маскированных изображений превращается в довольно нудное занятие с промежуточными контекстами в памяти и варьированием последнего параметра между SRCCOPY, SRCAND и т.п. EdNovice, если выбор DIB чем-то обусловлен, попробую найти у себя примеры таких вещей, а так посмотрите, может быть достаточно обычных битмапов и того, что привел mutabor, да еще MaskBlt впридачу?
|
20.02.2008, 07:44 | #4 |
Пользователь
Регистрация: 13.04.2007
Сообщений: 65
|
B_N, можно о вашем методе по подробнее!
К примеру: Я создаю два совместимых с контекстом формы DC: FChartDC := CreateCompatibleDC(ADC); FRealDC := CreateCompatibleDC(ADC); Для каждого DC создаю DIB секции: FChartDIB := CreateDIBSection(FChartDC, FBitMapInfo, DIB_RGB_COLORS, ppvBits, 0, 0); FOldChartDIB := SelectObject(FChartDC, FChartDIB); FRealDIB := CreateDIBSection(FRealDC, FBitMapInfo, DIB_RGB_COLORS, ppvBits, 0, 0); FOldRealDIB := SelectObject(FRealDC, FRealDIB); На первом DC я рисую график, на втором фигуру. Как на первый DC наложит второй, так чтобы поверх первого отображалась фигура, с прозрачным фоном? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
"Наложение" картинок и их подсветка .. | crus | HTML и CSS | 3 | 04.07.2008 19:37 |