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