• 10260阅读
  • 11回复

如何对图片缩放 [复制链接]

上一主题 下一主题
离线realwerw
 

只看楼主 正序阅读 楼主  发表于: 2006-08-01
为什么pixmap->resize(w,h)得到的是一个裁减的图片而不是一个缩放的图片。如何实现图片的放大和
缩小?
[ 此贴被XChinux在2006-08-01 19:36重新编辑 ]
离线robertkun

只看该作者 11楼 发表于: 2009-08-12
                                              简单的生活使人快乐!
离线jaypei

只看该作者 10楼 发表于: 2009-06-01
scaled有返回值,返回的Pixmap是变换后的
离线robertkun

只看该作者 9楼 发表于: 2009-06-01
引用第7楼reclusun于2009-05-31 12:04发表的  :
scaled ( int width, int height)


难道是直接设置宽和高?
                                              简单的生活使人快乐!
离线isti

只看该作者 8楼 发表于: 2009-06-01
QMatrix
离线reclusun
只看该作者 7楼 发表于: 2009-05-31
scaled ( int width, int height)
离线robertkun

只看该作者 6楼 发表于: 2009-05-31
引用第5楼rqzrqh于2009-05-30 19:50发表的  :
版本原因吧


这样啊,那我现在用这个:
    QSize *sizea = new QSize(50,50);
    pixmap->scaled(*sizea,Qt::IgnoreAspectRatio,Qt::FastTransformation);
    qDebug()<<"PictureResize()"<<pixmap->size();
    update();

发现pixmap的大小的确已被设定成为,50,50。可是图片就是没变化,十万个为什么?

想当个高手难啊~~有知道的请说一下。。在下感激不尽。。
                                              简单的生活使人快乐!
离线rqzrqh

只看该作者 5楼 发表于: 2009-05-30
引用第4楼robertkun于2009-05-30 19:08发表的  :
#include <QSize>
#include <QSizeF>
void PixmapTest::PictureResize()
{
.......
版本原因吧
离线robertkun

只看该作者 4楼 发表于: 2009-05-30
#include <QSize>
#include <QSizeF>

void PixmapTest::PictureResize()
{
    pixmap->resize(100,100);
}

error C2039: 'resize' : is not a member of 'QPixmap'  

搞不明白。这是为啥 ???请教一下。。
                                              简单的生活使人快乐!
离线ericguo
只看该作者 3楼 发表于: 2006-08-16
可以阅读Qt4自带的examples\widgets\imageviewer这个示例获得解答

核心代码如下:
void ImageViewer::scaleImage(double factor)
{
  Q_ASSERT(imageLabel->pixmap());
  scaleFactor *= factor;
  imageLabel->resize(scaleFactor * imageLabel->pixmap()->size());

  adjustScrollBar(scrollArea->horizontalScrollBar(), factor);
  adjustScrollBar(scrollArea->verticalScrollBar(), factor);

  zoomInAct->setEnabled(scaleFactor < 3.0);
  zoomOutAct->setEnabled(scaleFactor > 0.333);
}

另外还要调整imageLabel的这几个属性:
imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
imageLabel->setScaledContents(true);
离线vyangy
只看该作者 2楼 发表于: 2006-08-14
先将图片进行缩放,然后再关联
离线vyangy
只看该作者 1楼 发表于: 2006-08-14
先将图片进行缩放,然后再关联
快速回复
限100 字节
 
上一个 下一个