WinXP
VB6+SP6
access 数据库
-------------------------------------------------
我希望将数据库中的图片直接显示处理Dim ADO_Stream As new ADODB.stream
ADO_Stream.type = adTypeBinary
ADO_Stream.OpenCall ADO_Stream.Write(rst.Fields("Photo").value)
'## Call Stream.LoadFromFile(strFileName)Dim GH As Long
Dim BH As Long
Dim bmW As Long
Dim bmH As Long
GdipCreateFromHDC Me.hDC, GH
GdipCreateBitmapFromStream ADO_Stream, BH 到这里VB直接挂掉 Why ???
GdipGetImageWidth BH, bmW
GdipGetImageHeight BH, bmH
GdipDrawImageRectI GH, BH, 0, 0, bmW, bmH------------------------------------------Public Declare Function GdipLoadImageFromStream Lib "GdiPlus" (ByVal stream As Any, Image As Long) As GpStatus
VB6+SP6
access 数据库
-------------------------------------------------
我希望将数据库中的图片直接显示处理Dim ADO_Stream As new ADODB.stream
ADO_Stream.type = adTypeBinary
ADO_Stream.OpenCall ADO_Stream.Write(rst.Fields("Photo").value)
'## Call Stream.LoadFromFile(strFileName)Dim GH As Long
Dim BH As Long
Dim bmW As Long
Dim bmH As Long
GdipCreateFromHDC Me.hDC, GH
GdipCreateBitmapFromStream ADO_Stream, BH 到这里VB直接挂掉 Why ???
GdipGetImageWidth BH, bmW
GdipGetImageHeight BH, bmH
GdipDrawImageRectI GH, BH, 0, 0, bmW, bmH------------------------------------------Public Declare Function GdipLoadImageFromStream Lib "GdiPlus" (ByVal stream As Any, Image As Long) As GpStatus
按理说 都叫Stream 应该没问题把
要这样用的:
dim StreamObject As IUnknown '或 Istream Call CreateStreamOnHGlobal(b(0), False, StreamObject)
Call GdipLoadImageFromStream(StreamObject, img)其中b() 中包括的就是你的整个图片文件内容。
我在网上翻了下 Istream 接口确实不一样啊啊