diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-09 14:14:15 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2021-06-10 16:02:11 +0200 |
commit | f044f68e9f1f496a9d28803457b89c689eb92c20 (patch) | |
tree | 46b466cd3e484110a1ef57ed4f90afa02778d87c /src/gui/image/qimage.cpp | |
parent | 0242be90606b377864c6fd02d5a8e0afaf635acf (diff) |
Add shortcut for QImage::applyColorTransform on indexed images
This also helps preserve bitmaps.
Pick-to: 6.2
Change-Id: I8aa1ea63dc7dfb948a9c8821f0fe1ddd07f1bc3a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Diffstat (limited to 'src/gui/image/qimage.cpp')
-rw-r--r-- | src/gui/image/qimage.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index cb5afcbf90..d6c29ec736 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -5013,6 +5013,13 @@ QColorSpace QImage::colorSpace() const */ void QImage::applyColorTransform(const QColorTransform &transform) { + if (!d) + return; + if (pixelFormat().colorModel() == QPixelFormat::Indexed) { + for (int i = 0; i < d->colortable.size(); ++i) + d->colortable[i] = transform.map(d->colortable[i]); + return; + } QImage::Format oldFormat = format(); if (depth() > 32) { if (format() != QImage::Format_RGBX64 && format() != QImage::Format_RGBA64 |