//将picturebox中的文件保存到c:\aa.bmp
SavePicture picMain.Image, "c:\aa.bmp"
//取得c:\aa.bmp文件的base64编码
getSMData = getBase64("c:\aa.bmp")运行时,cpu使用100% 并且时间较长!
请教高手,能不能部保存文件,或优化代码,多谢
SavePicture picMain.Image, "c:\aa.bmp"
//取得c:\aa.bmp文件的base64编码
getSMData = getBase64("c:\aa.bmp")运行时,cpu使用100% 并且时间较长!
请教高手,能不能部保存文件,或优化代码,多谢
解决方案 »
- 如何读取非.xml后缀名的非标准xml文件中的节点数据
- MSHFlexGrid的标题怎么居中
- VB中用ADOData控件操纵Access数据库,急!急!急!问题解决,立即给分!
- 请大家帮忙:我想把文件夹只建在二级目录下。应该怎么实现呢?在线等~
- 关于用winsock作文件下载的问题
- 急!!!!
- 这个字符串怎么写正确?急急急
- 老大。vb鼠标 移动 ico文件 如何才能实现把一个picbox分成n*n区域。使这个ico在这n*n区域任意移动呢?麻烦那位老大;花2分钟 给我 编 个
- 编程求助
- 呵呵,不得不看的帖子,看了帖子立马后悔!! :)
- 已知一个服务器的网址\用户名和密码,如何用VB自动连接?
- 请问。。。。。。
Dim BASE64_TABLE(1 To 64) As Byte
Dim j As Double
Dim m As Double
Dim n As Double
Dim num As Double
Dim intPos As Double
Dim BASE64_STR As String
Dim a() As Byte
BASE64_STR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
For j = 1 To 64
BASE64_TABLE(j) = Asc(Mid(BASE64_STR, j, 1))
Next
n = (UBound(byteSource) - UBound(byteSource) Mod 3)
num = (n \ 3) * 4
m = 0
intPos = 0
ReDim a(1 To num) As Byte
For j = 0 To n - 1 Step 3
m = m + 1
a(m) = BASE64_TABLE((byteSource(j) \ 4) + 1)
m = m + 1
a(m) = BASE64_TABLE(((byteSource(j) Mod 4) * 16 + byteSource(j + 1) \ 16) + 1)
m = m + 1
a(m) = BASE64_TABLE(((byteSource(j + 1) Mod 16) * 4 + byteSource(j + 2) \ 64) + 1)
m = m + 1
a(m) = BASE64_TABLE((byteSource(j + 2) Mod 64) + 1)
intPos = intPos + 4 If (intPos Mod 76) = 0 Then
num = num + 2
ReDim Preserve a(1 To num) As Byte
m = m + 1
a(m) = Asc(vbCr)
m = m + 1
a(m) = Asc(vbLf)
End If
DoEvents
Next j
If Not (UBound(byteSource) Mod 3) = 0 Then
If (UBound(byteSource) Mod 3) = 2 Then
num = num + 4
ReDim Preserve a(1 To num) As Byte
m = m + 1
a(m) = BASE64_TABLE((byteSource(j) \ 4) + 1)
If m Mod 76 = 0 Then
num = num + 2
ReDim Preserve a(1 To num) As Byte
m = m + 1
a(m) = Asc(vbCr)
m = m + 1
a(m) = Asc(vbLf)
End If
m = m + 1
a(m) = BASE64_TABLE((byteSource(j) Mod 4) * 16 + byteSource(j + 1) \ 16 + 1)
If m Mod 76 = 0 Then
num = num + 2
ReDim Preserve a(1 To num) As Byte
m = m + 1
a(m) = Asc(vbCr)
m = m + 1
a(m) = Asc(vbLf)
End If
m = m + 1
a(m) = BASE64_TABLE((byteSource(j + 1) Mod 16) * 4 + 1)
If m Mod 76 = 0 Then
num = num + 2
ReDim Preserve a(1 To num) As Byte
m = m + 1
a(m) = Asc(vbCr)
m = m + 1
a(m) = Asc(vbLf)
End If
m = m + 1
a(m) = Asc("=")
ElseIf (UBound(byteSource) Mod 3) = 1 Then
num = num + 3
ReDim Preserve a(1 To num) As Byte
m = m + 1
a(m) = BASE64_TABLE(byteSource(j) \ 4 + 1)
If m Mod 76 = 0 Then
num = num + 2
ReDim Preserve a(1 To num) As Byte
m = m + 1
a(m) = Asc(vbCr)
m = m + 1
a(m) = Asc(vbLf)
End If
m = m + 1
a(m) = BASE64_TABLE((byteSource(j) Mod 4) * 16 + 1)
If m Mod 76 = 0 Then
num = num + 2
ReDim Preserve a(1 To num) As Byte
m = m + 1
a(m) = Asc(vbCr)
m = m + 1
a(m) = Asc(vbLf)
End If
m = m + 1
a(m) = Asc("==")
End If
End If
ReDim Preserve a(1 To m) As Byte
Base64_EncodeBin = StrConv(a, vbUnicode)
End Function