QT使用QImage做图片切割

这篇具有很好参考价值的文章主要介绍了QT使用QImage做图片切割。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QDebug>

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


       // 选择本地图片文件
       QString filename = QFileDialog::getOpenFileName(nullptr, "选择图片", "", "Images (*.png *.xpm *.jpg *.bmp)");

       // 读取选中的图片文件
       QImage image(filename);

       // 检查是否成功加载图片
       if (image.isNull()) {
           qDebug() << "图片加载失败";
       }

       // 定义切割的宽度和高度
       int width = image.width() / 2; // 切割后的宽度
       int height = image.height() / 2; // 切割后的高度

       // 创建保存切割后图片的文件夹
       QString folderPath = QDir::currentPath() + "/cutting_image";
       QDir().mkdir(folderPath);

       // 切割并保存图片
       for (int x = 0; x < 2; x++) {
           for (int y = 0; y < 2; y++) {
               // 切割图片
               QImage cImage = image.copy(x * width, y * height, width, height);

               // 保存切割后的图片
               QString cuttingFilename = folderPath + "/cutting_image_" + QString::number(x) + "_" + QString::number(y) + ".png";
               qDebug() << "croppedFilename===="<<cuttingFilename;
               cImage.save(cuttingFilename);
           }
       }

}

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

这里我使用的是深拷贝,什么叫深拷贝你们可以自行百度一下,我把一张图片平均分成了四份,你们可以按照你们自己的需求更改代码.主要就是:

image.copy(x,y,w,h);

test.png就是原图

QT使用QImage做图片切割,qt文章来源地址https://www.toymoban.com/news/detail-686618.html

到了这里,关于QT使用QImage做图片切割的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT图像处理类QImage常见使用方法

    Qt 是一个跨平台的 C++ 库,提供了丰富的图像处理功能,可以用来实现各种图像处理任务,例如图像缩放、旋转、灰度化、二值化等。本文将介绍使用 Qt 实现图像处理的方法,并提供代码示例。 在 Qt 中,可以使用 QImage 类型来加载和保存图像,QImage 支持多种图像格式,例如

    2024年02月03日
    浏览(79)
  • QT QImage读取与写入保存图像-图像镜像显示

    QT QImage读取与写入保存图像-图像镜像显示   cpp文件

    2024年02月11日
    浏览(52)
  • opencv常用函数,QT中Mat与QImage的转换

    opencv是一个跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上,实现了图像处理和计算机视觉方面的很多通用算法。 Mat imread( const String filename, int flags = IMREAD_COLOR );是从指定文件载入一幅图像 filename:要读入图片的完整路径 flags:读入图片

    2024年02月04日
    浏览(49)
  • linux+QT+FFmpeg 6.0,把多个QImage组合成一个视频

    我这里是专门搞了个类封装,我把这个类当成线程使用了,在启动程序的时候直接当线程启动recordInit():比如这样  然后我在需要合成视频的时候先调用初始化: 再传入QImage: 这样就不会造成卡死主线程的情况 我在使用FFmpeg的时候主要出现两个比较明显的情况: 1.pix_fmt为-1的情况

    2024年02月11日
    浏览(38)
  • VS+QT+VTK三维曲面网格点选切割

    程序示例精选 VS+QT+VTK三维曲面网格点选切割 如需安装运行环境或远程调试,见文章底部个人 QQ 名片,由专业技术人员远程协助! 这篇博客针对VS+QT+VTK三维曲面网格点选切割编写代码,代码整洁,规则,易读。 学习与应用推荐首选。 功能:读取三维网格数据,通过单击网格

    2024年02月11日
    浏览(50)
  • QT添加使用图片与UI资源

    1.1 添加新文件 1.2 添加QT - QT Resources File 【UI资源文件】 1.3 命名资源包名称 并 添加到项目文件 1.4 .pro 文件发生变化 += art.qrc 1.5 点击qrc文件,添加现有文件 - 添加进去的图片文件可以进行正常引用。 1.6 修改样式表,正常添加图片即可 2.1 添加新文件 2.2 添加 QT Designer Form 设计

    2024年01月17日
    浏览(42)
  • 【QT开发(5)】0919-QT里面新增ui类,新增使用opencv读取图片的普通类,在ui类中显示图片

    1、Qt Creator快速入门_第三版__霍亚飞编著 2、《Qt+OpenCV显示图片(Mat转QImage然后显示在QLabel上)》 https://gitee.com/hiyanyx/qt5.14-cpp_-empty_-project/tree/Study2023-section5/ git分支“Study2023-section5” 新增ui类 新增使用opencv读取图片的普通类 为了更加方便,可在QT 中添加普通类,这样会自动生

    2024年02月07日
    浏览(47)
  • qt 使用textBrowser显示文字和图片,文字居中,图片居中,已测可用

    这里只给出框架,美化的事交给有缘人

    2024年02月08日
    浏览(56)
  • 使用OpenGL 和 opengl ES 渲染YUV图片文件的QT示例

    头文件:CPlayWidget.h cpp文件:CPlayWidget.cpp 默认打开 ./test.yuv文件 头文件:CPlayWidget.h  与上面没有差别 cpp文件:只替换了着色器代码:

    2024年01月20日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包