26 #include <QCryptographicHash> 
   67     QByteArray hash = QCryptographicHash::hash(data, QCryptographicHash::Sha256);
 
   68     for (
int colorIndex = 0; colorIndex < 
COLORS; ++colorIndex) {
 
   74         const qreal lig = 
static_cast<qreal
>(colorIndex) / 
COLORS + 0.3;
 
   75         const qreal sat = 0.5;
 
   76         colors[colorIndex].setHslF(hue, sat, lig);
 
   79     const uint8_t* 
const hashBytes = 
reinterpret_cast<const uint8_t*
>(hash.constData());
 
   84             const uint8_t colorIndex = hashBytes[hashIdx] % 
COLORS;
 
   98     const uint8_t* 
const bytesChr = 
reinterpret_cast<const uint8_t*
>(bytes.constData());
 
  102     uint64_t hue = bytesChr[0];
 
  111     return (
static_cast<float>(hue))
 
  123     if (scaleFactor < 1) {
 
  124         qDebug() << 
"Can't scale with values <1, clamping to 1";
 
  137             pixels.setPixel(col, row, 
colors[colorIdx].rgb());
 
  142     return pixels.scaled(scaleFactor, scaleFactor, Qt::IgnoreAspectRatio, Qt::FastTransformation);