私が生成したバイトの配列を取り、それらをこのビットマップに書き出す次のコードがあります。ピクセル形式を Format4bppIndexed に設定すると、読み取り可能な画像が幅方向に 4 回繰り返されます。Format1bppIndexed (正しい設定) に設定すると、1 つの大きな読み取り不可能な画像が取得されます。
画像はデコードされた Jbig2 画像でした。バイトが正しいことはわかっていますが、それを 1bpp の読み取り可能な形式にする方法がわかりません。
誰かその件について何かアドバイスはありますか
Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format1bppIndexed);
//Create a BitmapData and Lock all pixels to be written
BitmapData bmpData = bitmap.LockBits(
new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.WriteOnly, bitmap.PixelFormat);
//Copy the data from the byte array into BitmapData.Scan0
Marshal.Copy(newarray, 0, bmpData.Scan0, newarray.Length);
//Unlock the pixels
bitmap.UnlockBits(bmpData);