[VB]GDI+ IStream¡¢StdPicture¡¢Byte() »¥×ª
ºÜ¶àÄêǰ¾ÍÏë×öÒ»¸öÔ¶³Ì¿ØÖƵÄÈí¼þ£¬Ö»ÊÇÒ»Ö±ÒÔÀ´Í¼Æ¬µÄѹËõËÙ¶È×ÜÊÇÌáÉý²»ÉÏÈ¥£¬¶øÎÒÒ²²Î¿¼¹ýºÜ¶àÍøÉϵĹØÓÚͼƬѹËõµÄÀý×Ó£¬±ÈÈçzyl910µÄGIF_LZWѹËõ·½·¨£¬HuffmanѹËõ·½·¨£¬ÒÔÖÁµ½GDI+µÄÖ±½ÓÉú³ÉJPG¡¢PNGµÄ·½·¨£¨ÕâÖÖ·½·¨ÎÞÂÛ´ÓѹËõÂʺÍËÙ¶ÈÉ϶¼ÊÇ×î¼ÑµÄ£¬¿ÉϧÕâÖÖ·½·¨ÍøÉÏһֱûÕÒµ½Ö±½Ó±£´æÎªByte()µÄÀý×Ó£¬¼ûµÃ×î¶àµÄÀý×Ó¾ÍÊÇÓÃGdipSaveImageToFile±£´æµ½´ÅÅÌ£¬È»ºóÔÙ¶ÁÈ¡·¢ËÍÁË£¬µ«ÊÇÎÒ×öµÄ¿ÉÊÇÔ¶³Ì¿ØÖÆÈí¼þ£¬Ã¿Ãë²»ÖªµÀҪд¶àÉÙMµÄÊý¾Ý½ø´ÅÅÌ£¡£©£¬½üÀ´ÔÚżȻ»ú»áÖØÐÂʰÆðÁËÍê³ÉÕâ¸ö³ÌÐòµÄÄîÍ·£¬¶øÇÒºÜÇɵÄÊÇËÑË÷µ½ÁËModestµÄ¡¶VB6½áºÏGDI+ʵÏÖÄÚ´æ(Stream)ѹËõ/½âѹËõJPG(JPEG)ͼÏñ¡·£¬ÕâÆªÎÄÕ¸øÁËÎҺܴóµÄÆô·¢£¬Ôڴ˸ÐлModest£¡£¡£¡
ModestµÄ´úÂëÒѾʵÏÖÁËStdPictureºÍIStreamµÄ»¥×ª£¬ÎÒÁíÍâʹÓÃÁËGlobalAlloc¡¢GlobalLock¡¢GlobalUnlock¡¢GlobalFreeµÈº¯Êý´´½¨Ò»¸ö»º³åÇø£¨Ö¸ÕëΪhGlobal£©£¬½«Modest´úÂëÖÐCreateStreamOnHGlobal(ByVal 0&, False, picStream)¸Ä³ÉCreateStreamOnHGlobal(ByVal hGlobal, False, picStream)£¬ÕâÑùÎÒ±ã¿É¸ù¾ÝhGlobalÀ´¶ÁдpicStreamµÄÄÚÈÝÁË£¬¾ßÌå´úÂëÈçÏ£º
'By TZWSOHO
'´ÓͼÏñת»»ÎªÁ÷ÔÙתΪ×Ö½ÚÊý×é
Public Function PictureToByteArray(ByVal Picture As StdPicture, Optional ByVal JpegQuality As Long = 85) As Byte()
Dim picStream As IStream
Dim lBitmap As Long
Dim tGUID As GUID
Dim bytBuff() As Byte
Dim tParams As EncoderParameters
Dim lngGdipToken As Long
Dim hGlobal As Long, lpBuffer As Long, dwSize As Long, Buff() As Byte
lngGdipToken = StartUpGDIPlus(GdiPlusVersion)
'¼ì²éJPGѹËõ±ÈÂÊ
If JpegQuality > 100 Then JpegQuality = 100
If JpegQuality < 0 Then JpegQuality = 0
'´´½¨Bitmap
If GdipCreateBitmapfromHBITMAP(Picture.Handle, 0, lBitmap) = OK Then
hGlobal = GlobalAlloc(GMEM_MOVEABLE, Picture.Width * Picture.Height \ 256) '´´½¨»º³åÇø
'´´½¨Stream
If CreateStreamOnHGlobal(ByVal hGlobal, False, picStream) = 0 Then
'ת»»GUID
If CLSIDfromString(StrPtr(ClsidJPEG), tGUID) = 0 Then
'ÉèÖÃJPGÏà¹Ø²ÎÊýÖµ
tParams.Count = 1
With tP
Ïà¹ØÎĵµ£º
·ÃÎÊÔ¶³ÌÊý¾Ý¿âµÄÇé¿öÓÐÒÔϼ¸ÖÖ£º
1£©·ÃÎÊÔ¶³ÌÊý¾Ý¿âµÄaccessÊý¾Ý¿â
2£©·ÃÎÊÔ¶³ÌmssqlÊý¾Ý¿â»òoracleµÈÆäËû¹ØÏµÊý¾Ý¿â£¬µ«ÊÇÊý¾Ý¿âͨÐŶ˿ڱ»·À»ðǽ×èµ²»òÆäËûÍøÂçÔÒòÔì³ÉÎÞ·¨Ê¹Óøö˿Ú
±¾ÎĽöÔÚwindows2000 advance server,mdac2.8ϲâÊÔͨ¹ý£¬ÆäÓàÌõ¼þ²»±£Ö¤ÄÜÕý³£ÔËÐÐ
ÔÚmdacµÄService ProvidersÖаüÀ¨Microsoft ......
½üÈÕ·ÖÎöÒ»VB×öµÄ±¨±í£¬ÓÉÓÚ¶ÔVBÖ»ÊÇÁ˽⣬̸²»ÉÏÊìÁ·£¬²»¹ý¶ÔÆäË®¾§±¨±íµ¹ÓеãÈÏʶ£¬Ö®Ç°Ò²×ö¹ýÈýÁ½¸öСµÄ±¨±í £¬¼ÓÖ®¶ÔPBÖеı¨±íÁ˽â·Ç³£ÊìϤ£¬µ±Ê±ÐÅÐÄÂù´óµÄ¡£
ÏÈÊÇ¿´ÁËDataReport£¬ÓÃÓÚ»æÖƱ¨±í¸ñʽ¡£ÔÙÀ´¿´DataEnvironment£¬ÓÃÓÚ¶¨Òå»ñÈ¡µÄÊý¾ÝÁС£½«DataReportÓëDataEnviro ......
×î½üÓÉÓÚ¹¤×÷ÏîÄ¿ÔÒò£¬ÁÙʱҪÇó×öÒ»¸ö¾ÖÓòÍøÉ¨ÃèÈí¼þ¡£¹¦ÄÜÒªÇó£¬É¨Ãè³öIPµØÖ·ÒÔ¼°¶ÔÓ¦µÄMACµØÖ·¡£¹¦ÄܱȽϼòµ¥¡£ÓÚÊǺܿì¾Í×öÁË¡£²ÉÓõĿª·¢¹¤¾ßÊÇ VB6.0
ʹÓ÷½·¨ÊÇͨ¹ý·¢ËÍ ARP°ü£¬¹ã²¥ IPµØÖ·µÄ·½Ê½À´»ñµÃ ¶ÔÓ¦µÄ MACµØÖ·£¬SendARP£¨£©¡£
ÓÐһЩϸ½ÚҪעÒ⣬¾ÍÊÇ Êä³öMACµØÖ ......
'¶ÁÊý¾Ýµ½¶þ½øÖÆ×Ö¶Î
Public Sub ReadfromBLOB(filed As ADODB.Field, Filen As String)
Dim DataFile As Integer, Fl As Long, Chunks As Integer
Dim Fragment As Integer, Chunk() As Byte, i As Integer
'´«ËͿ鵥λ´óС
Const ChunkSize As Integer = 16384
Dim MediaTemp As String
Dim lngOffset As Long
Di ......
Private Sub Cmd_OK_Click()
Dim ExcelAppX As Excel.Application
Dim ExcelBookX As Excel.Workbook
Dim ExcelSheetX As Excel.Worksheet
Dim a(1 To 3) As Single
Dim strFormat As Variant
......