亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cgifparser.cls

?? 這是網(wǎng)站里可以播放不同音樂的程序
?? CLS
?? 第 1 頁 / 共 2 頁
字號(hào):
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "cGIFParser"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
'****************************************************************************
'人人為我,我為人人
'枕善居收藏整理
'發(fā)布日期:2007/03/15
'描    述:網(wǎng)頁搜索音樂播放器  Ver 1.1.0
'網(wǎng)    站:http://www.Mndsoft.com/  (VB6源碼博客)
'網(wǎng)    站:http://www.VbDnet.com/   (VB.NET源碼博客,主要基于.NET2005)
'e-mail  :Mndsoft@163.com
'e-mail  :Mndsoft@126.com
'OICQ    :88382850
'          如果您有新的好的代碼別忘記給枕善居哦!
'****************************************************************************
Option Explicit
' No APIs are declared public. This is to prevent possibly, differently
' declared APIs, or different versions of the same API, from conflciting
' with any APIs you declared in your project. Same rule for UDTs.

' used to extract data from a converted GIF
Private Declare Function GetGDIObject Lib "gdi32.dll" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, ByRef lpObject As Any) As Long
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)
Private Declare Function VarPtrArray Lib "msvbvm60.dll" Alias "VarPtr" (Ptr() As Any) As Long

Private Type SafeArrayBound
    cElements As Long
    lLbound As Long
End Type
Private Type SafeArray
    cDims As Integer
    fFeatures As Integer
    cbElements As Long
    cLocks As Long
    pvData As Long
    rgSABound(0 To 1) As SafeArrayBound ' reusable UDT for 1 & 2 dim arrays
End Type
Private Type BITMAP
    bmType As Long
    bmWidth As Long
    bmHeight As Long
    bmWidthBytes As Long
    bmPlanes As Integer
    bmBitsPixel As Integer
    bmBits As Long
End Type

Private c_GIFdata() As Byte     ' source bytes (mapped array)
Private c_GIFbytes() As Byte    ' 1 frame from source bytes

Public Function LoadStream(inStream() As Byte, cHost As c32bppDIB, _
                    Optional ByVal streamOffset As Long, Optional ByVal streamLength As Long) As Boolean

    ' Parameters:
    ' insSream() :: a byte array containing a GIF
    ' cHost :: an initialized c32bppDIB
    ' streamOffset :: array position for 1st byte in the stream
    ' streamLength :: size of stream that contains the image
    '   - If zero, then size is UBound(inStream)-streamOffset+1
    
    ' IMPORTANT: the array offset & length are not checked in this class.
    '   They were checked before this class was called. If this class is to
    '   be pulled out and put in another project, ensure you include the
    '   validation shown in c32bppDIB.LoadPicture_Stream
    
    Dim tTSA As SafeArray
    ' overlay our module level array onto the passed array
    With tTSA
        .cbElements = 1         ' byte array
        .cDims = 1              ' 1 dimensional
        .pvData = VarPtr(inStream(streamOffset))
        .rgSABound(0).cElements = streamLength
    End With
    CopyMemory ByVal VarPtrArray(c_GIFdata), VarPtr(tTSA), &H4 ' apply overlay
    
    ' call routine to parse the GIF & convert it to 32bpp
    LoadStream = ParseGIF(cHost)
    CopyMemory ByVal VarPtrArray(c_GIFdata), 0&, &H4    ' remove overlay
    
End Function

Private Function ParseGIF(cHost As c32bppDIB) As Boolean

    On Error Resume Next
    ' a modified routine from some of my other GIF postings
    ' This version is scaled back and only extracts first frame
    
    ' This routine has one limitation. Some rare GIFs do not follow the
    ' standards and when those are encountered, the routine will return
    ' True to prevent it from being sent to other parsers.  This is
    ' important because the BMP parser sends the stream to an API
    ' to convert an unknown the image to a stdPicture. If the GIF stream
    ' isn't formatted within standards that API hangs the application.
    
    Dim gLong As Long
    Dim aPointer As Long
    Dim gHeaderLen As Long
    Dim g87aStart As Long, g87aStop As Long
    Dim g89aStart As Long, g89aStop As Long
    
    ' transparency flags and variables use to tweak GIF
    Dim transUsed As Byte, TransIndex As Long
    Dim aLocalTbl As Long, gColorsUsed As Long
    Dim uniquePalette(0 To 767) As Byte
    Dim p As Long
    
    On Error GoTo ExitReadRoutine
    
    ' read signature
    ReDim c_GIFbytes(0 To 5)
    CopyMemory c_GIFbytes(0), c_GIFdata(0), 6&
    Select Case LCase(StrConv(c_GIFbytes, vbUnicode))
        Case "gif89a", "gif87a"
        Case Else
            Exit Function
    End Select
        
    ' skip to the global color table information
    If (c_GIFdata(10) And 128) = 128 Then ' color table used? If so, skip it
        gColorsUsed = 2 ^ ((c_GIFdata(10) And &H7) + 1) ' count colors
        gHeaderLen = gColorsUsed * 3 + 13
    Else 'no global color table; probably uses local color tables
        gHeaderLen = 13
    End If
    aPointer = gHeaderLen
    
    Do
        Select Case c_GIFdata(aPointer)    ' read a single byte
        Case 0  ' block terminators
            aPointer = aPointer + 1
            
        Case 33 'Extension Introducer
            aPointer = aPointer + 1
            
            Select Case c_GIFdata(aPointer) ' read the extension type
            
            Case 255    ' application extension
                ' Get the length of extension: will always be 11
                aPointer = aPointer + c_GIFdata(aPointer + 1) + 2
                Call SkipGifBlock(aPointer)
                
            Case 249    ' Graphic Control Label
                        ' (description of frame & is an optional block) 8 bytes
                transUsed = (c_GIFdata(aPointer + 2) And 1)
                If transUsed = 1 Then ' has transparency?
                    TransIndex = c_GIFdata(aPointer + 5) ' cache transparency index
                End If
                g89aStart = aPointer - 1    ' location where 89a block starts
                aPointer = aPointer + 7     ' move to end of block
                
            Case Else   ' Comment block, plain text extension, or Unknown extension
                aPointer = aPointer + 1
                Call SkipGifBlock(aPointer)
            End Select
                
        Case 44 ' Image Descriptor (image dimensions & color table)
                ' mark position where image description starts
            g87aStart = aPointer
            aPointer = aPointer + 9
            ' next byte indicates if local color table used
            If (c_GIFdata(aPointer) And 128) = 128 Then   ' local color table used?
                gColorsUsed = 2 ^ ((c_GIFdata(aPointer) And &H7) + 1) ' count colors
                aPointer = aPointer + gColorsUsed * 3
                aLocalTbl = 1  ' flag indicating colors from local table vs global table
            End If
            aPointer = aPointer + 2 ' include last byte read + end of image flag
            Call SkipGifBlock(aPointer)
                
            g87aStop = aPointer - 1
            If g87aStop - g87aStart < 3 Then Exit Function ' invalid frame
            Exit Do
            
        Case Else
            ' shouldn't happen; abort with what we have
            Exit Function
        End Select
    Loop
    

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产高清在线精品| 欧美午夜视频网站| 亚洲电影激情视频网站| 精品国产乱码久久久久久牛牛| 99热在这里有精品免费| 麻豆91在线播放免费| 怡红院av一区二区三区| 国产人成亚洲第一网站在线播放| 欧美日本一区二区三区| 97久久精品人人爽人人爽蜜臀| 蜜桃在线一区二区三区| 亚洲小说欧美激情另类| 日韩一区欧美小说| 国产欧美综合在线观看第十页| 欧美日韩一区二区三区在线| 色综合一个色综合| 夫妻av一区二区| 美女视频网站黄色亚洲| 午夜视频一区在线观看| 亚洲天堂2016| 中文字幕色av一区二区三区| 国产情人综合久久777777| 精品国产污污免费网站入口| 欧美精品xxxxbbbb| 欧美日韩美女一区二区| 9人人澡人人爽人人精品| 国产suv精品一区二区883| 激情偷乱视频一区二区三区| 日本不卡123| 日本欧美肥老太交大片| 三级亚洲高清视频| 亚洲成av人片一区二区三区| 亚洲伊人色欲综合网| 亚洲综合免费观看高清完整版| 一区二区三区精品久久久| 亚洲美女区一区| 亚洲精品国产一区二区三区四区在线| 国产精品三级在线观看| 国产精品伦理在线| 一区在线中文字幕| 亚洲免费电影在线| 一区二区三区四区激情| 亚洲最大的成人av| 一区二区三区精品在线观看| 一区二区三区免费看视频| 亚洲午夜电影在线观看| 日日骚欧美日韩| 麻豆精品蜜桃视频网站| 国产乱对白刺激视频不卡| 国产精品亚洲专一区二区三区 | 欧美一区二区啪啪| 欧美绝品在线观看成人午夜影视| 欧美欧美午夜aⅴ在线观看| 欧美电影影音先锋| 精品久久久久久久久久久久包黑料| 欧美一级高清片在线观看| 日韩欧美电影一区| 国产网站一区二区| 国产精品久久久久久久蜜臀 | 国产精品麻豆视频| 亚洲欧美日韩一区二区| 亚洲高清免费在线| 青青草国产精品亚洲专区无| 国产在线精品视频| 成人激情校园春色| 欧美视频在线观看一区二区| 91精品国产综合久久久久久| 精品国产一区二区三区久久久蜜月| 国产亚洲综合av| 日韩一区日韩二区| 婷婷成人激情在线网| 精品系列免费在线观看| 波多野结衣中文字幕一区| 在线观看区一区二| 久久一夜天堂av一区二区三区| 国产精品国产三级国产普通话蜜臀| 亚洲国产精品久久久久秋霞影院| 九九视频精品免费| 波多野洁衣一区| 欧美精品乱人伦久久久久久| 日本一区二区动态图| 亚洲福利视频一区| 国产mv日韩mv欧美| 欧美日韩激情一区二区三区| 久久精品视频在线看| 亚洲免费大片在线观看| 久久精品久久综合| 91麻豆swag| 久久久亚洲午夜电影| 亚洲综合色视频| 国产成人精品一区二| 欧美日韩高清在线| 国产欧美精品一区aⅴ影院| 视频一区二区中文字幕| a亚洲天堂av| 日韩免费电影一区| 一区二区三区精密机械公司| 国产老女人精品毛片久久| 欧美性一二三区| 国产精品久久久久久亚洲伦| 久久se精品一区二区| 欧美性一区二区| 国产精品护士白丝一区av| 免费高清在线视频一区·| 日本韩国一区二区三区| 精品久久国产字幕高潮| 亚洲综合丝袜美腿| gogogo免费视频观看亚洲一| 精品成人私密视频| 首页国产欧美日韩丝袜| 色一情一伦一子一伦一区| 国产日韩欧美在线一区| 久久国产精品一区二区| 欧美日韩高清不卡| 亚洲免费视频中文字幕| 大尺度一区二区| 26uuuu精品一区二区| 日本免费新一区视频| 欧美日本韩国一区二区三区视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产大片一区二区| 欧美xxxxxxxxx| 九九久久精品视频| 欧美成人一区二区三区片免费| 日日夜夜精品视频免费| 欧美精品xxxxbbbb| 天天色综合天天| 正在播放亚洲一区| 亚洲成人久久影院| 欧美日韩和欧美的一区二区| 亚洲成a人v欧美综合天堂| 欧美三区在线视频| 亚洲va国产天堂va久久en| 欧美性大战久久| 亚洲国产精品自拍| 欧美三级三级三级| 日韩精品一二区| 日韩一区二区在线播放| 美腿丝袜亚洲三区| 欧美xxxxxxxx| 国产精品一区二区你懂的| 国产午夜精品美女毛片视频| 国产成人av一区二区三区在线| 国产欧美va欧美不卡在线| 丁香亚洲综合激情啪啪综合| 国产精品女主播av| 91在线免费播放| 亚洲午夜日本在线观看| 51久久夜色精品国产麻豆| 男人的天堂久久精品| 精品久久久久久久久久久久久久久| 国产乱人伦偷精品视频不卡| 国产精品网站在线| 色素色在线综合| 日韩黄色小视频| 久久综合精品国产一区二区三区| 国产成人在线看| 亚洲免费在线观看视频| 欧美军同video69gay| 国产一区二区在线观看免费 | 蜜臀久久99精品久久久久宅男| 欧美大黄免费观看| 国产成人精品综合在线观看| 一区在线观看免费| 在线成人午夜影院| 国产成人精品免费在线| 亚洲摸摸操操av| 日韩女优制服丝袜电影| 不卡免费追剧大全电视剧网站| 亚洲永久精品大片| 欧美精品一区二区久久久| 成人美女视频在线观看18| 亚洲国产裸拍裸体视频在线观看乱了| 欧美大黄免费观看| 91麻豆123| 麻豆专区一区二区三区四区五区| 国产女人18水真多18精品一级做| 日本韩国欧美在线| 久久国内精品自在自线400部| 亚洲欧洲成人精品av97| 欧美精品色综合| 99久久99精品久久久久久| 日韩国产欧美在线播放| 国产精品久久久久久久久免费樱桃 | 性做久久久久久免费观看欧美| 精品国产一区二区三区久久影院| 色一情一伦一子一伦一区| 国产一区二区精品久久99| 一级女性全黄久久生活片免费| 久久久国产精品麻豆| 欧美日韩一区不卡| 成人18视频在线播放| 免费不卡在线观看| 亚洲愉拍自拍另类高清精品| 国产欧美一区二区三区在线看蜜臀| 在线成人高清不卡| 日本韩国一区二区三区| 成人小视频免费观看| 美女看a上一区| 亚洲国产日韩a在线播放性色|