QImage
类提供了一系列方法用于对图像进行操作和处理。以下是QImage
中的一些常用方法及其使用说明:
-
scaled(int width, int height, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation)
:对图像进行缩放操作。可以指定目标宽度和高度,同时可以选择保持纵横比或忽略纵横比。aspectRatioMode
参数用于指定纵横比模式,可选值包括Qt::IgnoreAspectRatio
(忽略纵横比)、Qt::KeepAspectRatio
(保持纵横比)、Qt::KeepAspectRatioByExpanding
(保持纵横比并扩展);transformMode
参数用于指定变换模式,可选值包括Qt::FastTransformation
(快速变换)和Qt::SmoothTransformation
(平滑变换)。 -
mirrored(bool horizontal = false, bool vertical = true)
:对图像进行镜像翻转操作。可以指定水平和垂直方向是否进行翻转,默认为垂直方向翻转。 -
transformed(const QTransform &matrix, Qt::TransformationMode mode = Qt::FastTransformation)
:对图像进行坐标变换操作。可以指定变换矩阵和变换模式,默认为快速变换。 -
convertToFormat(QImage::Format format, Qt::ImageConversionFlags flags = Qt::AutoColor)
:将图像转换为指定的格式。可以指定目标格式和转换标志,默认为自动颜色转换。 -
fill(const QColor &color)
:用指定的颜色填充整个图像。 -
save(const QString &fileName, const char *format = nullptr, int quality = -1) const
:保存图像为文件。可以指定文件名、格式和质量。格式参数可以是文件扩展名(如"png"、“jpg"等),也可以是MIME类型(如"image/png”、"image/jpeg"等)。质量参数用于指定保存的图像质量,取值范围为0-100,默认为-1,表示使用默认质量。 -
pixel(int x, int y)
:获取指定坐标处的像素值。返回的是QRgb
类型的值,可以使用qRed()
、qGreen()
、qBlue()
等函数提取颜色分量。 -
setPixel(int x, int y, QRgb value)
:设置指定坐标处的像素值。 -
width()
、height()
:获取图像的宽度和高度。 -
isNull()
:判断图像是否为空,即未加载或加载失败。
以上是QImage
类中的一些常用方法及其使用说明。通过使用这些方法,可以对图像进行缩放、翻转、变换、格式转换、填充、保存等操作。可以根据具体需求选择合适的方法进行图像处理。