Qt5.7.1中使用QImage保存成JPG图像到本地

#Qt assistant中对QImage的说明

  • 注:以下说明是本人用翻译软件翻译的,部分语句还需斟酌。建议尽量查看Qt assistant中的英文原版,避免歧义。
  • QImage类提供与硬件无关的图像表示,允许直接访问像素数据,并可用作绘图设备。
  • Qt提供了四个用于处理图像数据的类:QImage,QPixmap,QBitmap和QPicture。 QImage专为I / O和直接像素访问和操作而设计和优化,而QPixmap专为在屏幕上显示图像而设计和优化。 QBitmap只是一个继承QPixmap的便捷类,确保深度为1.最后,QPicture类是一个记录和重放QPainter命令的绘图设备。
  • 因为QImage是QPaintDevice子类,所以可以使用QPainter直接绘制到图像上。在QImage上使用QPainter时,可以在除当前GUI线程之外的另一个线程中执行绘制。
  • QImage类支持Format enum描述的几种图像格式。这些包括单色,8位,32位和alpha混合图像,可在Qt 4.x的所有版本中使用。
  • QImage提供了一系列功能,可用于获取有关图像的各种信息。还有几个功能可以转换图像。
  • 由于QImage类使用隐式数据共享,因此QImage对象可以按值传递。 QImage对象也可以进行流式处理和比较。

读写Image文件

  • 读取图片数据
    QImage提供了几种加载图像文件的方法:可以在构造QImage对象时加载文件,也可以在后面使用load()或loadFromData()函数加载。 QImage还提供静态fromData()函数,从给定数据构造QImage。 加载映像时,文件名可以引用磁盘上的实际文件,也可以引用应用程序的其中一个嵌入资源。 有关如何在应用程序的可执行文件中嵌入图像和其他资源文件的详细信息,请参阅Qt资源系统概述。
    支持的文件格式的完整列表可通过QImageReader :: supportedImageFormats()和QImageWriter :: supportedImageFormats()函数获得。可以将新文件格式添加为插件。
  • 保存图片
    当m_image(一个QImage变量)中已经载入图片数据后,可调用save()进行保存,如:m_image.save(pictrureName, “JPG”, 100);对于这三个参数,解释如下:
    1.pictrureName为图片文件的路径,比如:"/home/feng/IMG_0.jpg",需要注意的是路径必须要有权限读写;
    2."JPG"为图片的格式,注意不需要带"."
    3.100指的是图片的质量因数,范围必须在0到100之内或-1,指定0以获取小型压缩文件,指定100表示大型未压缩文件,使用-1(默认值)使用默认设置。

你可能感兴趣的:(Qt)