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 바이트를 읽을 수 있습니다
내가 비주얼 스튜디오 2010 WindowsForm 응용 프로그램 과 행동 양식 버튼을 사용하고 이미지를 읽으려면 하나의 패키지. 다음 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
에서 (1ms의 간격) 타이머 수 있도록 모든 데이터를 읽으려면 내가 지금이 타이머를 사용하여 나쁜 코드인지 확인하십시오. 누구나 여러 패키지에서 보낸 모든 데이터를 읽는 방법을 알고 있습니까?
당신도 1) 모든 데이터 2를 읽을 때까지) 현재 실행중인 코드를 차단 비동기 적으로 데이터를 읽을 수 있습니다. – fshauge