Название: Прозрачность в QGraphicsRectItem Отправлено: Иволга от Апрель 13, 2017, 15:04 Имеется потомок QGraphicsRectItem, который в paint() отрисовывает QImage.
Без прозрачности результат такой (scr0 во вложении). Прозрачность 0.4 в QNX (scr1) - то, что нужно. То же самое в Linux (scr2) - ерунда какая-то, что происходит? Название: Re: Прозрачность в QGraphicsRectItem Отправлено: mitrich от Апрель 14, 2017, 10:26 А как прозрачность задаёшь? Через QPainter::setOpacity или альфа-компонент цвета при рисовании устанавливаешь? CompositionMode меняешь? Мало информации, покажи кусок кода что-ли.
Название: Re: Прозрачность в QGraphicsRectItem Отправлено: Иволга от Апрель 14, 2017, 14:01 Задаю свойство QGraphicsRectItem::setOpacity(), больше ничего.
Код:
Название: Re: Прозрачность в QGraphicsRectItem Отправлено: mitrich от Апрель 14, 2017, 20:11 Глюк какой-то. Можно попробовать вместо этого устанавливать прозрачность непосредственно при рисовании в QGraphicsItem::paint()
Код и посмотреть на результат. А ещё чисто из любопытства: вставь этот код в какой-нибудь метод, в котором осуществляется рисование и посмотри, что будет выводится: Код
Название: Re: Прозрачность в QGraphicsRectItem Отправлено: Иволга от Апрель 18, 2017, 10:59 Цитировать Можно попробовать вместо этого устанавливать прозрачность непосредственно при рисовании в QGraphicsItem::paint() Результат тот же.(...) и посмотреть на результат. Цитировать А ещё чисто из любопытства: вставь этот код в какой-нибудь метод, в котором осуществляется рисование и посмотри, что будет выводится: (...) QPaintEngine *eng = painter->paintEngine(); qDebug() << "Paint engine type:" << eng->type() << "Name:" << typeid(*eng).name(); Paint engine type: 10 Name: 18QRasterPaintEngine |