回答編集履歴

1

質問編集に合わせて追記

2021/08/04 03:05

投稿

fana
fana

スコア12234

answer CHANGED
@@ -36,4 +36,20 @@
36
36
  で,それで思うような結果が得られたならば,その動作を崩さない範囲で効率化する.
37
37
  (思うような結果がこの時点で得られないならば,そもそも話自体がどこかで間違っているのだから,いきなり高効率なコードを書いたところで意味ない)
38
38
 
39
- あと,コードを見るに各所に演算が見られるので,それらの演算結果が本当に思っている値になってるのか?という確認作業をしてみるべきでしょう.
39
+ あと,コードを見るに各所に演算が見られるので,それらの演算結果が本当に思っている値になってるのか?という確認作業をしてみるべきでしょう.
40
+
41
+ ---
42
+
43
+ [質問編集されたので追記]
44
+
45
+ > QImage tmp_img = QImage(pbImage, W, H, QImage::Format_Indexed8);
46
+
47
+ このコードが妥当か否かは,`QImage` とかいうやつの仕様次第でしょうから,その点を確認すべきです.
48
+ 現象から察するに,各行の先頭位置が4の倍数にアラインされるようにデータにpaddingみたいなのが必要な型なのではないかと.
49
+
50
+ まとめると,まずあなたがやるべきことは,
51
+
52
+ * QImageの要求するデータフォーマット仕様についてきちんと把握する
53
+ * そのうえで,この行で引数に与えられている `pbImage` の内容が正当であることを確認する
54
+
55
+ の2点です.