• 7046阅读
  • 4回复

旋转QPIXMAP 非90度后 图会变大原来的根号2倍,怎么解决 [复制链接]

上一主题 下一主题
离线biosxjj
 

只看楼主 倒序阅读 楼主  发表于: 2010-11-27
旋转QPIXMAP 非90度后 图会变大原来的根号2倍,怎么解决
如果图弄的和原来一样大的话 实际的图又会变小 郁闷
离线roywillow

只看该作者 1楼 发表于: 2010-11-27
你可以自己找一个图像编辑软件试试,一般直接旋转就是会导致图片变大的
根号2倍估计是取45度这个最大的保险值免得少东西吧
[ 此帖被roywillow在2010-11-27 22:07重新编辑 ]
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线dbzhang800

只看该作者 2楼 发表于: 2010-11-27
引用楼主biosxjj于2010-11-27 18:26发表的 旋转QPIXMAP 非90度后 图会变大原来的根号2倍,怎么解决 :
旋转QPIXMAP 非90度后 图会变大原来的根号2倍,怎么解决
如果图弄的和原来一样大的话 实际的图又会变小 郁闷


你能给出你自己的要求么?比如:你觉得旋转后要怎么样?
离线biosxjj

只看该作者 3楼 发表于: 2010-12-09
回 2楼(dbzhang800) 的帖子
是想做一个图像旋转的效果。。。贴图上去后位置不变。。
已经搞定了 现在旋转画笔。不旋转图片
离线pjincz
只看该作者 4楼 发表于: 2010-12-09

class MyWidget : public QWidget
{
    Q_OBJECT

    enum
    {
        IMG_WIDTH = 80,
        IMG_HEIGHT = 30,
    };
public:
    MyWidget()
        : m_arg(0), m_pmp(IMG_WIDTH, IMG_HEIGHT)
    {
        resize(400, 300);
        QPainter p(&m_pmp);
        p.drawText(10, 10, tr("Hello World!"));
        startTimer(30);
    }
    void paintEvent(QPaintEvent * e)
    {
        QPainter p(this);
        QSize sz = size();
        p.translate(sz.width() / 2, sz.height() / 2);
        p.rotate(m_arg);
        p.drawPixmap(- IMG_WIDTH / 2, - IMG_HEIGHT / 2, IMG_WIDTH, IMG_HEIGHT, m_pmp, 0, 0, IMG_WIDTH, IMG_HEIGHT);
    }
    void timerEvent(QTimerEvent * e)
    {
        m_arg += 1;
        update();
    }
private:
    qreal m_arg;
    QPixmap m_pmp;
};
快速回复
限100 字节
 
上一个 下一个