gpt4 book ai didi

image - 如何在VB6中读取图像文件流的结尾

转载 作者:行者123 更新时间:2023-12-03 12:05:48 25 4
gpt4 key购买 nike

有另一个程序员编写的代码我想改进。该模块的目的是从摄像头获取实时图像流并将其显示在图片窗口中。它是通过 TCP IP 连接进行的。这是如何完成的
获取

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中有没有其他有效的方法来处理这个?

最佳答案

您需要同意一个完整的协议(protocol),该协议(protocol)指定您将如何通过 TCP 流传递图像数据和图像数据长度。

然后在您的接收器中,您开始将数据读入缓冲区,直到您获得足够的数据来包含您的 header 。此时,您可以解析出数据长度,然后继续将数据读取到数据缓冲区中,直到您至少获得该数量的数据。
当您最终获得所有数据时,您可以解码并保存图像数据,然后关闭流(如果它是一个关闭)或从头开始并解析文件头。

您可以在 #VB wiki 上找到更多信息.

关于image - 如何在VB6中读取图像文件流的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15220081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com