回答編集履歴

1

質問編集に合わせて追記

2021/08/04 03:05

投稿

fana
fana

スコア11954

test CHANGED
@@ -75,3 +75,35 @@
75
75
 
76
76
 
77
77
  あと,コードを見るに各所に演算が見られるので,それらの演算結果が本当に思っている値になってるのか?という確認作業をしてみるべきでしょう.
78
+
79
+
80
+
81
+ ---
82
+
83
+
84
+
85
+ [質問編集されたので追記]
86
+
87
+
88
+
89
+ > QImage tmp_img = QImage(pbImage, W, H, QImage::Format_Indexed8);
90
+
91
+
92
+
93
+ このコードが妥当か否かは,`QImage` とかいうやつの仕様次第でしょうから,その点を確認すべきです.
94
+
95
+ 現象から察するに,各行の先頭位置が4の倍数にアラインされるようにデータにpaddingみたいなのが必要な型なのではないかと.
96
+
97
+
98
+
99
+ まとめると,まずあなたがやるべきことは,
100
+
101
+
102
+
103
+ * QImageの要求するデータフォーマット仕様についてきちんと把握する
104
+
105
+ * そのうえで,この行で引数に与えられている `pbImage` の内容が正当であることを確認する
106
+
107
+
108
+
109
+ の2点です.