![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Norrius |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 30.12.2011 Пользователь №: 3105 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
У меня несколько "слоев" - QPixmap'ов, которые обсчитываются отдельно и выводятся на окно в paintEvent. Как стереть (залить прозрачным) прямоугольный кусок pixmap, чтобы то что ниже было видно?
Я пробовал делать painter.fillRect(<...>, transparent), но это, как и предполагалось, ничего не делает. painter.eraseRect() не работает, только если установить painter.setBackgroundMode(OpaqueMode), однако, в этом случае весь pixmap заливает белым. |
|
|
BRE |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
QPixmap::setMask
|
|
|
Norrius |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 30.12.2011 Пользователь №: 3105 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
К сожалению, это получается еще медленнее, чем pixmap.fill() и повторная перерисовка всех участков pixmap.
|
|
|
BRE |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Попробуй с композитингом рисовать на QImage.
|
|
|
Norrius |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 30.12.2011 Пользователь №: 3105 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо, посмотрю.
|
|
|
Norrius |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 30.12.2011 Пользователь №: 3105 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Up. Так и не удалось придумать ничего работающего.
|
|
|
wiz29 |
![]()
Сообщение
#7
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: ![]() ![]() ![]() |
установи рисовальщику QPainter::CompositionMode_Source и рисуй заливку QColor(0, 0, 0, 0) должно помочь.
|
|
|
Norrius |
![]()
Сообщение
#8
|
Студент ![]() Группа: Участник Сообщений: 26 Регистрация: 30.12.2011 Пользователь №: 3105 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Как ни печально, я увидел это только сейчас (хотя уже давно разобрался с этим и, пожалуй, разобрался бы быстрее, если бы следил за форумом). Я идиот. Спасибо Вам.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 19.2.2025, 1:23 |