QPixmap, Как сделать прозроачный пихмэп ? |
Здравствуйте, гость ( Вход | Регистрация )
QPixmap, Как сделать прозроачный пихмэп ? |
flankerr |
3.7.2008, 16:32
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Как сделать прозроачный QPixmap ?
Предположим есть у меня QPixmap в него рисуються некие графики. Есть другой QPixmap туда рисуется фон. задача наложить первы QPixmap на второй, так чтобы у первого пиксмепа в качетсве фона был второй. Пиксмэпки рисуються в разное время и на момент наложеия есть именно две пиксмэпки. |
|
|
ViGOur |
3.7.2008, 16:44
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Это пойдет?
Transparent Backgrounds in Qt 4.1 |
|
|
flankerr |
3.7.2008, 16:48
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
Это пойдет?Transparent Backgrounds in Qt 4.1 Это конечно интересно но меня интересует не виджет, а пиксмэп. Сообщение отредактировал flankerr - 3.7.2008, 16:49 |
|
|
sploid |
3.7.2008, 17:33
Сообщение
#4
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
а ты у первой картинке в самом начале сделай цвет прозрачный, потом на ней нарисуй графики.
Когда графики будешь выводить, то в начале рисуешь вторую картинку ( где фон ), а потом первую ( где все графики без прозрачности а сам фон прозрачный ). Вроде должно сработать. |
|
|
flankerr |
4.7.2008, 10:48
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
О! Правельно рассуждаешь. Именно это и надо.
ворпос КАК сделать прозрачный фон у первой пиксмыпки ?????? Т.е. чтобы при наложение двух пиксмэпок фоном у первой получался второй. И мне НЕ надо было перирисовывать первую пиксмэпку если я изменил фоновую пиксмэпку Сообщение отредактировал flankerr - 4.7.2008, 10:51 |
|
|
sploid |
4.7.2008, 14:05
Сообщение
#6
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
void QPixmap::fill ( const QColor & color = Qt::white )
а цвет используй QColor::QColor ( int r, int g, int b, int a = 255 ) последний параметр это прозрачность. |
|
|
flankerr |
4.7.2008, 15:48
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: 0 |
void QPixmap::fill ( const QColor & color = Qt::white ) а цвет используй QColor::QColor ( int r, int g, int b, int a = 255 ) последний параметр это прозрачность. QPixmap img; img.fill(QColor(0,0,0,255)); Правельно тебя понял ??? Если так тогда это НЕ работает ! получилось сделать через маску QPixmap img; QPainter painter(&img) painter.end(); img.setMask(img.createHeuristicMask()); |
|
|
sploid |
4.7.2008, 15:51
Сообщение
#8
|
Студент Группа: Участник Сообщений: 51 Регистрация: 26.2.2008 Из: Москва Пользователь №: 106 Спасибо сказали: 10 раз(а) Репутация: 1 |
последний параметр должен быть 0, а не 255.
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 10:04 |