vb怎么将一个内容为十六进制的.txt文件转换为.jpg图片,急求大侠,最好有代码,vb新手;谢谢; 100
FFD8FFE000104A46494600010100000100010000FFDB0043000604040504040605050506060607080E090...
FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01 00 01 00 00 FF DB 00 43 00 06 04 04 05 04 04 06 05 05 05 06 06 06 07 08 0E 09 08 08 08 08 11 0C 0D 0A 0E 14 11 15 14 13 11 13 13 16 18 1F 1A 16 17 1D 17 13 13 1B 25 1B 1D 20 21 23 23 23 15 1A 26 29 26 22 28 1F 22 23 21 FF DB 00 43 01 06 06 06 08 07 08 10 09 09 10 21 16 13 16 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 FF C4 00 1F 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 08 09 0A 0B FF ........
展开
2个回答
展开全部
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'定义数据文件
Dim myTxtFile As String = AppDomain.CurrentDomain.BaseDirectory & "tmp.txt"
'读取数据文件的所有字符
Dim txtString As String = IO.File.ReadAllText(myTxtFile)
'只保留0到F的文本,其余的(比如空格,换行等)均消除,如果有其他类型的标识符,也需要将其替换掉
txtString = txtString.Replace(vbTab, String.Empty)
txtString = txtString.Replace(vbCrLf, String.Empty)
txtString = txtString.Replace(vbCr, String.Empty)
txtString = txtString.Replace(vbLf, String.Empty)
txtString = txtString.Replace(" ", String.Empty)
'定义字节类型的列表
Dim txtList As New List(Of Byte)
'向字节列表赋值
For i = 0 To txtString.Length - 1 Step 2
txtList.Add("&H" & txtString.Substring(i, 2))
Next
'字节列表转换为字节数组
Dim bins() As Byte = txtList.ToArray
'从字节数组中定义内存流,从这个内存流获取图片,并显示在图片框中。
PictureBox1.Image = Image.FromStream(New IO.MemoryStream(bins))
End Sub
End Class
更多追问追答
追问
额,大侠,貌似你给我的是vb.net 的代码,可惜我现在用的是vb6.0
追答
那没办法,我用的是.net,vb6还真不好弄,我也不想研究vb6.要不你先把它转换成字节然后保存到文件,再以图片方式打开试试?
2014-12-23
展开全部
先将16进制转换为Byte字节数组,再按Jpg图片文件头的字节内容拼装在前面,就行了。
追问
我是新手,真心不会,能给段示例吗,谢谢了;
追答
Option Explicit
Dim str As String
Dim i As Long
Dim sendbyte(7) As Byte
Private Sub Command1_Click()
For i = 1 To Len(str) Step 2
sendbyte((i - 1) / 2) = "&H" & Mid(str, i, 2)
Next
For i = 0 To 7
Print sendbyte(i)
Next
End Sub
Private Sub Form_Load()
str = "010300320003A404"
End Sub
给段将16进制转换为字节数足的例子
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询