vb支持的最低限度为一个字节(八位),如果你想要看二进制信息,可以将其转化为16进制显示,下面是我的代码,给你参考一下:
Dim 文件数据() As Byte, 字符数据() As String
Dim 文件长度 As Long, i As Long
Dim 文件字符串 As String
文件长度 = FileLen(路径(0))
ReDim 文件数据(1 To 文件长度)
Open 路径(0) For Binary As #1
Get #1, , 文件数据
Close #1
ReDim 字符数据(1 To 文件长度)
For i = 1 To 文件长度
字符数据(i) = Hex(文件数据(i))
Next
文件字符串 = Join(字符数据, " ")
Open 路径(1) For Output As #1
Write #1, 文件字符串
Close #1
MsgBox "转换完成"
FileDateTime 和 FileLen 是VB的内置函数 可以直接使用
如果你想获取图像的尺寸 你可以用picturebox控件设置autosize属性,然后加载图像 最后获取picturebox的长宽属性值 就可以使用你文件尺寸了。
Private Sub Form_Load()DebugPrint Picture1ScaleWidth, Picture1ScaleHeight
End Sub
dqOpen
"Select
from
picture
where
id
like'"
&
pa
&
"'",
myconn,
1,
2
Set
Image1DataSource
=
Nothing
Set
Image1DataSource
=
dq
Image1DataField
=
"pic"
dqClose
你的二进制图像要先存入ACCESS表中,命名picture,id可以用自动编号,字段名pic
首先要连接到数据库。然后把上面的代码黏贴进去。
代码的意思是
1从picture中选择id=的打开(
作为一个记录集)
2先清空图像image1控件
3image1控件的来源是dq(这是一个记录集)
4image1控件与数据库绑定的字段名是pic
不知道是不是你想要的额。
VB6没有直接获取像素的函数,但在VB6菜单里有一个AddIn工具可以载入WinAPI函数就不一样了。在WinAPI函数里有一个GetPixel(hdc,x,y)函数,用来获取像素颜色值。
'必须在代码前加上API声明,vb就可以用了
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
'用于记录像素坐标的数组
Dim recX() As Long
Dim recY() As Long
Dim i As Long
Dim mycolor As Long
For y=0 To 100
For x=0 To 100
mycolor = GetPixel(Picture1hdc,x,y) '获取Picture控件图像里的像素颜色
If mycolor = 0 Then ' 颜色为0表示纯黑
i = i + 1
Redim Preserve recX(i)
Redim Preserve recY(i)
recX(i) = x '记住纯黑像素的x位置
recY(i) = y '记住纯黑y的位置
End If
Next x
Next y
首先新建一个EXCEL文件dataXLS,c列中文件名为对应行的文件名。其excel文档内容如下图形式:
然后在vb中新建一个Text1文本框,1个按钮,一个框Image1,如下图界面:
点击查询按钮,写入如下代码:
Private Sub Command1_Click()
Dim cn As ADODBConnection
Dim rs As ADODBRecordset
Dim sql$
Set cn = New ADODBConnection
Set rs = New ADODBRecordset
cnOpen "provider=microsoftjetoledb40;extended properties=excel 80;data source=" & AppPath & "\dataxls" 'ThisWorkbookFullName 'ThisWorkbookPath & "\" & ThisWorkbookName
sql = "select from [Sheet1$A2:C100] where 姓名 like '" & Text1Text & "'"
rsOpen sql, cn, 1, 1
If rsRecordCount > 0 Then
rsMoveFirst
Image1Picture = LoadPicture(AppPath & "\pic\" & rsFields("文件名"))
End If
rsClose
cnClose
Set cn = Nothing
End Sub
具体文件目录结构如下见图:
由于水平有限,上述代码基本能实现你查询功能,但细节有待优化。
你可以将先载入image控件里~设置Image1Stretch
=
True
Image1Width
Image1Height
这2个就是该实际长宽了~
以上就是关于vb怎么用二进制读取图片全部的内容,包括:vb怎么用二进制读取图片、VB如何文件目录读取图像属性宽和高的像素尺寸、怎么用vb 的image控件读取access表中的二进制图像 你知道的简便方法谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)