Function Base64toStdPicture(ByVal Base64Code As String) As StdPicture
Dim ImgVector As Object
Dim Node As Object
Set ImgVector = CreateObject("WIA.Vector")
Set Node = CreateObject("Msxml2.DOMDocument.3.0").createElement("base64")
Node.DataType = "bin.base64"
Node.Text = Base64Code
ImgVector.BinaryData = Node.nodeTypedValue
Set Base64toStdPicture = ImgVector.BinaryData.Picture
Set Node = Nothing
Set ImgVector = Nothing
End Function
1条答案
按热度按时间bnl4lu3b1#
在存储文件方面,"巨大“是多大?如果你把图像转换成Base64,它将是一个相当琐碎的任务,把它分割成单元格,然后在转换成图像时重新组合它。
或者,您可以将Base64字符串存储在一个标准模块中--我目前正在做同样的事情,但我的图像只能以100 kb的速度输入(最好将其保存为PNG而不是BMP)。
在将Base64字符串转换为图像方面,Windows Image Acquisition COM对象会将字节数组转换为stdPicture图像类型(就我上面的观点而言,它还接受PNG文件...)。以下函数接受Base64字符串,将其转换为字节数组,并返回stdPicture对象:
从这一点上,你可以在一个图像控件中调出它,或者将它复制到剪贴板/从剪贴板中复制出来等。