Название: Зеркальное отражение для QGraphicsItem
Отправлено: Yegor от Ноябрь 30, 2011, 20:44
Здравствуйте!
Можно ли сделать для QGraphicsItem такое преобразование как зеркальное отражение? Отражение относительно горизонтали, вертикали?
Название: Re: Зеркальное отражение для QGraphicsItem
Отправлено: _OLEGator_ от Декабрь 01, 2011, 11:02
По всей видимости, надо реализовать свой QGraphicsEffect с требуемым функционалом.
Название: Re: Зеркальное отражение для QGraphicsItem
Отправлено: artiom_kh от Март 02, 2012, 12:38
можно проще: C++ (Qt) static QTransform makeTransform( int f, const QSizeF& objSize );//f - flip flags (fsHorizontal,fsVertical), objSize - the size of QGraphicsItem QTransform makeTransform( int f, const QSizeF& objSize ) { FUNC_PREPROCESS; QTransform res; qreal fDx = 1., fDy = 1.; QPointF ptOffset; if( f & fsHorizontal )//flip by horz { fDx = -1; ptOffset.setX( -objSize.width() ); } if( f & fsVertical )//flip by vert { fDy = -1; ptOffset.setY( -objSize.height() ); } res.scale( fDx, fDy ); res.translate( ptOffset.x(), ptOffset.y() ); return res; } //usage extern QGraphicsItem* pItm; QTransform t = makeTransform( fsHorizontal | fsVertical, pItm->boundingRect().size() ); pItm->setTransform( t );
|