diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-04-07 01:00:13 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-04-07 01:00:14 +0200 |
commit | 800119509837f4dfe3b4de1ecd88938ae6b18b71 (patch) | |
tree | a2d58870ac1d5a45c78e4da455d26b653758eee3 /src/gui/image/qimage_conversions.cpp | |
parent | 093cf19f1efdfbba3edb76547917a51e5b8cdba5 (diff) | |
parent | 28c9ad199c313444149471e854bfa6cc7c708549 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Idf2bef470663864069bbf7e41af07b534936863a
Diffstat (limited to 'src/gui/image/qimage_conversions.cpp')
-rw-r--r-- | src/gui/image/qimage_conversions.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gui/image/qimage_conversions.cpp b/src/gui/image/qimage_conversions.cpp index 39d97f4bd9..16ad0a3edc 100644 --- a/src/gui/image/qimage_conversions.cpp +++ b/src/gui/image/qimage_conversions.cpp @@ -1331,14 +1331,18 @@ void dither_to_Mono(QImageData *dst, const QImageData *src, } else { bit--; } + const int e7 = ((err * 7) + 8) >> 4; + const int e5 = ((err * 5) + 8) >> 4; + const int e3 = ((err * 3) + 8) >> 4; + const int e1 = err - (e7 + e5 + e3); if (x < w) - *b1 += (err*7)>>4; // spread error to right pixel + *b1 += e7; // spread error to right pixel if (not_last_line) { - b2[0] += (err*5)>>4; // pixel below + b2[0] += e5; // pixel below if (x > 1) - b2[-1] += (err*3)>>4; // pixel below left + b2[-1] += e3; // pixel below left if (x < w) - b2[1] += err>>4; // pixel below right + b2[1] += e1; // pixel below right } b2++; } |