[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
Ïà¹ØÎĵµ£º
Òý×Ô£ºhttp://blog.csdn.net/yizia/archive/2006/09/19/1248669.aspx
·ÃÎÊÔ¶³ÌÊý¾Ý¿âµÄÇé¿öÓÐÒÔϼ¸ÖÖ£º
1£©·ÃÎÊÔ¶³ÌÊý¾Ý¿âµÄaccessÊý¾Ý¿â
2£©·ÃÎÊÔ¶³ÌmssqlÊý¾Ý¿â»òoracleµÈÆäËû¹ØÏµÊý¾Ý¿â£¬µ«ÊÇÊý¾Ý¿âͨÐŶ˿ڱ»·À»ðǽ×èµ²»òÆäËûÍøÂçÔÒòÔì³ÉÎÞ·¨Ê¹Óøö˿Ú
±¾ÎĽöÔÚwindows2000 advance server,mdac2.8ϲâÊÔͨ¹ý£ ......
http://www.webuc.net/ddf3/archive/2005/08/25/6142.aspx
²»ÓÃFSOµÄ¸´ÖÆÎļþ¼ÐµÃ·½·¨£¿
ÓÃAPIº¯Êý SHFileOperation
ÒÔÏÂÊÇʹÓÃSHFileOperationɾ³ý¸´ÖÆÒƶ¯ÎļþµÄÀý×Ó£¬¿ÉÒÔ¸´ÖÆÎļþ¼Ð
Private Type SHFILEOPSTRUCT
¡¡¡¡hwnd As Long
¡¡¡¡wFunc As Long
¡¡¡¡pfrom As String
¡¡¡¡pTo As String
¡¡¡¡fFlags As ......
VB Treeview¿Ø¼þÏêϸʹÓ÷½·¨
1¡¢ÊôÐÔ
ÕâÀïÖ»¸ø´ó¼Ò½éÉÜTreeview¿ ......
VB¸ù¾Ý´°¿Ú±êÌâ»ñȡӦÓóÌÐòÍêÕû·¾¶(À´×ÔÍøÂç)
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId A ......
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
......