OSDN Git Service

QImage::createHeuristicMask() optimization
authorIvailo Monev <xakepa10@gmail.com>
Thu, 19 Aug 2021 02:00:07 +0000 (05:00 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Thu, 19 Aug 2021 02:00:07 +0000 (05:00 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/gui/image/qimage.cpp

index 28e0376..f1f5218 100644 (file)
@@ -3242,9 +3242,12 @@ QImage QImage::createHeuristicMask(bool clipTight) const
     int h = height();
     QImage m(w, h, Format_MonoLSB);
     QIMAGE_SANITYCHECK_MEMORY(m);
-    m.setColorCount(2);
-    m.setColor(0, QColor(Qt::color0).rgba());
-    m.setColor(1, QColor(Qt::color1).rgba());
+    QVector<QRgb> colortable;
+    // same as QColor(Qt::color0).rgba() and qRgba(255, 255, 255, 255)
+    colortable.append(4294967295);
+    // same as QColor(Qt::color1).rgba() and qRgba(0, 0, 0, 255)
+    colortable.append(4278190080);
+    m.setColorTable(colortable);
     m.fill(0xff);
 
     QRgb background = PIX(0,0);