今では、ビットマップとその変換に夢中になっています。今回は、ビットマップ イメージをバイナリ値 (1,1,0,0,....,0,1,1) に変換したいと思います。
グーグルの助けを借りて、以下のコードスニペットを試しました。
string bmpFilePath= @"C:\Sample.bmp";
Bitmap bmp = new Bitmap(bmpFilePath);
short[,] array = new short[bmp.Height, bmp.Width];
Color color;
int binaryVal = 0;
string strBinaryData = string.Empty();
for (int x = 0; x < bmp.Width; x++)
{
for (int y = 0; y < bmp.Height; y++)
{
color = bmp.GetPixel(x, y);
binaryVal = Color.White.ToArgb() == color.ToArgb() ? (short)1 : (short)0;
strBinaryData += binaryVal.ToString();
}
}
//StrBinaryData contains the String of binary values.
モノクロのビットマップ イメージを使用してバイナリ データを取得しています。コードは私にとって完璧に見えますが、API の 1 つで画像を印刷しようとすると、正確な画像を見ることができません。
上記のコードで十分かどうかを確認したいと思います。はいの場合、おそらくそのバイナリ データをさらに処理する際に間違いを犯している可能性があります。
そうするのを手伝ってください。
ビットマップのバイナリ データをフェッチする理由: 使用する API があります。この API は、入力としてイメージのバイナリ データを想定しています。今、私はいくつかの間違った結果を得ています。入力が正しいかどうかを確認する必要がありますか?