IPカメラを持っていて、 このカメラから画像データを読み取る際に問題があります。 は、私がカメラにコマンドを送信して読まなければならない画像を読み込むには:電報 2)のうち 1)の長さは、応答IDは、イメージを取得 3)エラーコード 4)画像タイプ 5)画像は 6)行数、列の結果 7)画像データC#TCPを使用しているすべてのデータ形式のIPカメラを読み取る
データ形式を読み取るには、ポイント1〜6は問題ありません。これはわずか14バイトです。 ポイント6で画像の大きさを読みました。たとえば、行の数を とし、列のサイズを640x480とすると、307200バイトになります。内のすべての画像データを送信しない カメラためbutReadImage_Click
で
private void butReadImage_Click(object sender, EventArgs e)
{
// code to read data from point 1 to 6
// start read data image (point 7)
}
私は画像データのみ7000バイトを読むことができます:
は、私は、Visual Studio 2010とWindowsFormのアプリケーション とアクションフォームのボタンを使用していた画像を読み込むには1つのパッケージ。私はその後、私は今、これはタイマーを使用して不正なコードであることを private void timReadImage_Tick(object sender, EventArgs e)
{
// read rest data form camera, about two data packets
int numberOfBytesRead;
while (rwSensorStream.DataAvailable)
{
numberOfBytesRead = rwSensorStream.Read(BinaryImageData_Byte_14_n, 0, BinaryImageData_Byte_14_n.Length);
tempRC = tempRC + numberOfBytesRead;
for (int i = 0; i < numberOfBytesRead; i++)
{
image.Add(BinaryImageData_Byte_14_n[i]);
}
}
}
を使用してbutReadImage_Click
にタイマー(1ミリ秒間隔)を有効にすべてのデータを読み取ることが 。誰もがいくつかのパッケージで送られたすべてのデータを読む方法を考えていますか?
あなたはどちらか 1)あなたはすべてのデータ 2を読んだまで)現在実行中のコードをブロック非同期でデータを読むことができます。 – fshauge