dorafather |
2020-12-12 11:06 |
GraphicsView实现图元旋转拉伸的简单例子
抽空整理下以前自己写的在GraphicsView得框架下实现了图元的旋转拉伸等功能,有偿共享代码,备注留下你的邮箱,在QT4及QT5下运行 if(!scaled) scaled = true; float xDistance; float yDistance; xDistance = currentVector.x() - StartPoint.x(); if (StartPoint.x() < PivotPoint.x()) { xDistance = xDistance * -1; } yDistance = currentVector.y() - StartPoint.y(); if (StartPoint.y() < PivotPoint.y()) { yDistance = yDistance * -1; } float xFactor; float yFactor; xFactor = xDistance / sceneBoundingRect().width(); yFactor = yDistance / sceneBoundingRect().height(); xFactor = 1 + xFactor; yFactor = 1 + yFactor; if (shift) if ((yFactor !=0) && (xFactor !=0)) yFactor = xFactor; applyTransform(0,xFactor,yFactor); |
|