Qt QImag图像保存、格式转换

图像保存

bool QImage::save(const QString &fileName, const char *format = Q_NULLPTR, int quality = -1) const

保存格式选择

参数format选择保存的格式,支持格式如下:

BMP(Windows Bitmap)
GIF(Graphic Interchange Format (optional))
JPG(Joint Photographic Experts Group)
JPEG(Joint Photographic Experts Group)
PNG(Portable Network Graphics)
PBM(Portable Bitmap)
PGM(Portable Graymap)
PPM(Portable Pixmap)
XBM(X11 Bitmap)
XPM(X11 Pixmap)

保存质量设置

quality必须在0到100或-1范围内。

指定0来获得小的压缩文件,100用于大的未压缩文件,和-1(默认)使用默认设置。

1 GV_QImage.save("ImageSavePath"+".BMP","BMP",100);
2 //1.pictrureName为图片文件的路径,比如:"/home/feng/IMG_0.jpg",需要注意的是路径必须要有权限读写;
3 //2."JPG"为图片的格式,注意不需要带".";
4 //3.100指的是图片的质量因数,范围必须在0到100之内或-1,指定0以获取小型压缩文件,指定100表示大型未压缩文件,使用-1(默认值)使用默认设置。

图像格式转换

由 RGB 格式转换成 BGR 格式

QImage::rgbSwapped() 
返回一个QImage,其中所有像素的红色和蓝色组件的值被交换,有效地将RGB图像转换为BGR图像。

1 QImage image(fileName);
2 QImage bgr = image.rgbSwapped();

将彩色图转换成 灰度图

使用QImage::convertToFormat()函数, 
参数选择QImage::Format_Grayscale8(需要Qt5.5以上版本才支持)。

1 QImage image(fileName);
2 QImage gray = image.convertToFormat(QImage::Format_Grayscale8);

本文福利, 免费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击免费领取↓↓

你可能感兴趣的:(Qt开发,qt,c++,qt嵌入式开发,qt开发,QImag)