summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-09 14:14:15 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2021-06-10 16:02:11 +0200
commitf044f68e9f1f496a9d28803457b89c689eb92c20 (patch)
tree46b466cd3e484110a1ef57ed4f90afa02778d87c /src/gui
parent0242be90606b377864c6fd02d5a8e0afaf635acf (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')
-rw-r--r--src/gui/image/qimage.cpp7
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