QT图片缩小放大显示实践
在这里使用QLable加载gif或png进行显示测试,图片格式为png可以用QPixmap加载显示,如果格式为gif加载后又想让其动起来,需要用QMovie
静态图片测试
使用QLabel的setScaledContents缩放方法进行测试,看到是整体的拉伸填充满的
QPixmap png = QPixmap(":res/2.png" );
QLabel *lb3=ui->label3;
lb3->setPixmap(png);
lb3->setScaledContents(true);
QPixmap png2 = QPixmap(":res/2.png" );
QLabel *lb4=ui->label4;
lb4->setPixmap(png2);
lb4->setScaledContents(true);
如果不想拉伸填充满,可以使用QPixmap.scaled根据QLabel.size来进行处理
在QT定义里可以看到
QPixmap scaled(const Q服务器托管网Size &s, Qt::AspectRatioMode aspectMode = Qt::IgnoreAspectRatio,
Qt::TransformationMode mode = Qt::FastTransformation) const;
缩放模式定义有三种
enum AspectRatioMode {
IgnoreAspectRatio,
KeepAspectRatio,
KeepAspectRatioByExpanding
};
IgnoreAspectRatio |
矩形框有多大,图片就缩放成多大,不限制原图片的长宽比,拉伸填充满 |
KeepAspectRatio |
保持原图片的长宽比,且不超过矩形框的大小 |
KeepAspectRatioByExpanding |
根据矩形框的大小最大缩放图片,特定情况显示不完整 |
来用代码测试看看效果吧
QPixmap png = QPixmap(":res/2.png" );
QLabel *lb=ui->label;
QSize labelSize = lb->size();
png = png.scaled(labelSize, Qt::IgnoreAspectRatio);
lb->setPixmap(png);
原始大小 |
|
IgnoreAspectRatio |
|
KeepAspectRatio |
|
KeepAspectRatioByExpanding |
加宽QLabel 加高QLabel |
动图测试GIF
通过QMovie->setScaledSize或QLabel->setScaledContents都是可以将GIF放大缩小的
QLabel *lb=ui->label;
QMovie *movie = new QMovie(":res/1.gif", QByteArray(), lb);
// QMovie *movie = new QMovie(":res/000.p服务器托管网ng", QByteArray(), lb);
movie->setScaledSize(lb->size()); // 设置GIF的初始缩放尺寸
lb->setMovie(movie);
// lb->setScaledContents(true);
movie->start();
QLabel *lb2=ui->label2;
QMovie *movie2 = new QMovie(":res/1.gif", QByteArray(), lb2);
// QMovie *movie = new QMovie(":res/000.png", QByteArray(), lb2);
//// movie2->setScaledSize(lb2->size()); // 设置GIF的初始缩放尺寸
lb2->setMovie(movie2);
lb2->setScaledContents(true);
movie2->start();
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
MySQL是一个功能强大的关系型数据库管理系统,广泛应用于各种Web应用程序和企业级应用程序中。在处理字符串时,常常需要删除字符串的最后一个特定字符,以使其符合要求。本文将向您介绍如何使用MySQL内置函数来删除字符串的最后一个特定字符,并提供一些示例。 My…