1
另一位程序员编写了一个我想改进的代码。该模块的目的是从相机获取实时图像流并将其显示在图片窗口中。它通过TCP IP连接进行。下面是它是如何做 获取如何在VB6中读取图像文件流的末尾
Private Sub DataArrival(ByVal bytes As Long)
Dim str As String
' check the socket for data
camera.GetData str
Dim str As String
While InStr(str, Terminator) <> 0
**Do some processing and put only the data in the variable str
str = Mid(str, index, 1000)
lImgSize = lImgSize + Len(str)
strImg = strImg + str
If lImageSize >= 1614414 Then
Dim fileno As Integer
fileno = FreeFile()
Open ".\Imagefile.txt" For Output As #intFileNo
Print #fileno , strImg
Close #fileno
End If
End Sub
我有一个输入图像流来并将其转换为字符串,我计算的大小来检查图像的末端将其写入到一个文件中。但硬编码值并不能保证文件总是结束。有时如果图像尺寸略小于尺寸,我的图片框不会更新实时图像。编辑: 这是image.txt文件包含的内容。
1
1575020 // file size header
424D36040C0000000000360400002800000000040000000300000100080000000000000000000000
--data--
--data--
020303030203010302010202030002030203020302020302030202030102
3BFB
在VB6中有没有其他有效的方法来处理这个问题?
似乎是一种危险的方式来确定图像是否完整。没有办法完成信号。图像数据如何传输给您? – Rob 2013-03-05 11:23:52
编辑包括完整的代码,请不要忽略。 – Motes 2013-03-05 16:09:49
字符串中的数据通常被认为是文本,您也正在使用文本I/O操作。 Unicode和ANSI之间的转换可能会导致各种数据对二进制信息的影响,并且充其量只会以这种方式为图像数据消耗两倍的内存。 – Bob77 2013-03-05 23:00:35