Qt之图片的放大与缩小

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QLabel>
#include <QDebug>
namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
private:
    void resize_label();
private slots:
    void on_doubleSpinBox_h_valueChanged(double arg1);

    void on_doubleSpinBox_v_valueChanged(double arg1);

private:
    Ui::Widget *ui;
    QLabel label;
    QImage image;
    QImage original_image;
    QString path;
};

#endif // WIDGET_H
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    path=QApplication::applicationDirPath()+"/1.png";
    qDebug()<<path;

    original_image=QImage(path);
    image=original_image;
    label.setPixmap(QPixmap::fromImage(image));

    label.show();
}

Widget::~Widget()
{
    delete ui;
}

void Widget::resize_label()
{
    QMatrix matrix;
    qDebug()<<"h:"<<ui->doubleSpinBox_h->value();
    matrix.scale(ui->doubleSpinBox_h->value(),ui->doubleSpinBox_v->value());
    image=original_image.transformed(matrix);
    label.setPixmap(QPixmap::fromImage(image));
    label.resize(image.size());
}

void Widget::on_doubleSpinBox_h_valueChanged(double arg1)
{
    resize_label();
}

void Widget::on_doubleSpinBox_v_valueChanged(double arg1)
{
    resize_label();
}

效果:

如何显示一张图片:

1.png--->QImage--->QPixmap--->QLabel

改变图片的水平大小和垂直大小,其实是在改变QImage。 

相关推荐

  1. qt,滚动条,放大缩小拖动图片

    2024-03-28 08:06:02       59 阅读
  2. CSS实现图片放大缩小几种方法

    2024-03-28 08:06:02       56 阅读
  3. vue系列--图片通过鼠标滚轮放大缩小指令

    2024-03-28 08:06:02       48 阅读
  4. Qt处理鼠标滚轮事件,放大缩小地图

    2024-03-28 08:06:02       70 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 08:06:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 08:06:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 08:06:02       82 阅读
  4. Python语言-面向对象

    2024-03-28 08:06:02       91 阅读

热门阅读

  1. C#WPF控件Label宽度绑定到父控件的宽度

    2024-03-28 08:06:02       35 阅读
  2. C++入门

    C++入门

    2024-03-28 08:06:02      37 阅读
  3. 用WHERE命令可以在命令行搜索文件

    2024-03-28 08:06:02       34 阅读
  4. 【Kotlin】Array简介

    2024-03-28 08:06:02       41 阅读
  5. Spring MVC Thymeleaf在一个表单中的多个提交按钮

    2024-03-28 08:06:02       44 阅读
  6. Kafka高级面试题-2024

    2024-03-28 08:06:02       43 阅读
  7. 什么是高阶组件,有哪些场景?

    2024-03-28 08:06:02       45 阅读
  8. PHP中常见的CRUD函数

    2024-03-28 08:06:02       43 阅读