QT等比例缩放图片

1、这里使用QLabe控件显示图片,如下:

cpp 复制代码
label->setPixmap(QPixmap::fromImage(image_2));

以上是直接原始大小来显示QImage image_2图片。

cpp 复制代码
label->setAlignment(Qt::AlignCenter);

以上代码,是将显示的图片居中展示,默认在竖直方向上居中,所以这里的代码设置的是水平方向上的居中。

效果如下:

2、将图片等比例缩放,如下:

cpp 复制代码
image_2 = image_2.scaled(label->size().width(), label->size().height(), Qt::KeepAspectRatio, Qt::SmoothTransformation);

上述代码,将图像等比缩放,缩放后可显示整幅图片。参数Qt::KeepAspectRatio就是等比缩放的意思。

效果如下:

3、QImage加载图片

cpp 复制代码
QImage image_2;
image_2.load(filePath);

filePath是获取的图片所在的绝对路径。

4、获取QImage中x,y位置的像素值

cpp 复制代码
QRgb pixel = coimage.pixel(x, y);
int red = qRed(pixel);
int blue = qBlue(pixel);
int green = qGreen(pixel);

coimage值得是QImage对象,已经加载过图片的对象。由此可得到图片的rgb值。

5、如何修改QImage的像素值

cpp 复制代码
coimage.setPixel(x, y, qRgba(color.red(), color.green(), color.blue(), qAlpha(pixel)));

通过setPixel函数,设置其rgb值。color变量是QColor类的对象,需提前设置好。

相关推荐
yaoxin5211237 分钟前
229. Java 集合 - 操作集合中的多个元素(批量操作)
java·开发语言·python
在人间负债^10 分钟前
从Python到仓颉:核心项目内容迁移实践
开发语言·python·鸿蒙·仓颉
HSJ017013 分钟前
Aviator中使用BigDecimal进行高精度计算
java·开发语言·bigdecimal·aviator
weixin_3077791317 分钟前
利用 AWS Lambda 与 EventBridge 优化低频 Java 作业的云计算成本
java·开发语言·云原生·云计算·aws
CheungChunChiu18 分钟前
从 Rust 到 Flutter:嵌入式图形与构建工具全景指南
开发语言·flutter·rust
满天星830357724 分钟前
【C++】智能指针
c语言·开发语言·c++·visual studio
hj10431 小时前
php上传企业微信附件的方法
开发语言·php·企业微信
起予者汝也2 小时前
Python基础入门
开发语言·python
芯联智造2 小时前
【stm32协议外设篇】- SU03T 智能语音模块
c语言·开发语言·stm32·单片机·嵌入式硬件
川石课堂软件测试2 小时前
Python | 高阶函数基本应用及Decorator装饰器
android·开发语言·数据库·python·功能测试·mysql·单元测试