• 4869阅读
  • 2回复

缩放图像出了点问题,麻烦大家帮忙解决下吧。   [复制链接]

上一主题 下一主题
离线ch19860304
 
只看楼主 倒序阅读 楼主  发表于: 2009-06-07
很奇怪,为什么我无论点击“放大”还是“缩小”按钮,都只能“放大图片”,但当图片大到一定程序之后,情况就反过来了:无论点击“放大”还是“缩小”按钮,都只能“缩小图片”,这整个过程中,图片是越来越模糊呀,我都无语了。我把相关代码贴出来吧:
void Imageviewer::zoomin()  //放大
{
    if(scale < 3)    //scale是缩放比例
        scale *= 1.25 ;
    qDebug("zoomin() :scale = %f",scale);    //打印信息没错,scale的值也是按我想的在走
    QSize size =scale*pixmap.size() ;
    pixmap=pixmap.scaled(size,Qt::KeepAspectRatioByExpanding,Qt::SmoothTransformation);
    update() ;
}

void Imageviewer::zoomout()  //缩小
{
    if(scale > 0.333)
        scale *= 0.8 ;
    qDebug("zoomout() :scale = %f",scale);
    QSize size =scale*pixmap.size() ;
    pixmap=pixmap.scaled(size,Qt::KeepAspectRatioByExpanding,Qt::SmoothTransformation);
    update() ;
}  
离线skysquall
只看该作者 1楼 发表于: 2009-06-08
建议用个变量存贮最原始的图片,每次缩放都是对最原始那个图片进行缩放,显示放大/缩小后的图片即可。

你的图片之所以放大缩小有问题是因为,每次你缩放的对象是你放大后的图像。基准图像老是变化,缩放因子就的重新计算啦,比较麻烦。建议对原始图像操作,简单,也不会出现图像越来越模糊的效果
离线ch19860304
只看该作者 2楼 发表于: 2009-06-08
谢谢,问题已经解决
快速回复
限100 字节
 
上一个 下一个