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

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

?? cgifparser.cls

?? 這是網(wǎng)站里可以播放不同音樂的程序
?? CLS
?? 第 1 頁 / 共 2 頁
字號:
    If Not (g87aStart = 0 Or gColorsUsed = 0) Then ' we have a valid gif frame
    
        ' rebuild the GIF file to include only the 1st frame read
        aPointer = gHeaderLen
        If g89aStart > 0 Then   ' gif is 89a format
            ' resize array, copy header info & gif89a info
            ReDim c_GIFbytes(0 To gHeaderLen + (g87aStop - g87aStart + 1) + 8)
            CopyMemory c_GIFbytes(0), c_GIFdata(0), gHeaderLen
            CopyMemory c_GIFbytes(gHeaderLen), c_GIFdata(g89aStart), 8
            aPointer = aPointer + 8 ' adjust pointer for gif87a info
        Else
            ' resize array and copy header info only
            ReDim c_GIFbytes(0 To gHeaderLen + (g87aStop - g87aStart + 1))
            CopyMemory c_GIFbytes(0), c_GIFdata(0), gHeaderLen
        End If
        ' now copy the gif 87a info
        CopyMemory c_GIFbytes(aPointer), c_GIFdata(g87aStart), g87aStop - g87aStart + 1
        c_GIFbytes(UBound(c_GIFbytes)) = 59 ' trailer/end of file
    
        ' fix up the left/top & width/height of overall frame
        CopyMemory c_GIFbytes(aPointer + 1), 0&, &H4 ' make frame left/top zero
        CopyMemory c_GIFbytes(6), c_GIFbytes(aPointer + 5), &H4 ' make window & frame size same
    
        If transUsed = 1 Then
            ' Fix up the color table/indexes for images with transparency
            ' Why? Instead of parsing/decompressing the GIF, we will allow an API to do it for us.
            ' But that API can re-index the GIF which means we may lose track of the transparency
            ' color/index.  This happens whenever any color in the GIF's palette is duplicated.
            ' To prevent this from occuring, we simply replace the GIF's palette with another
            ' palette of non-duplicated entries. Then use the original palette after the API is done
            If aLocalTbl = 1 Then ' local color table else global
                ' local color table starts 10 bytes after the gif87a block
                aPointer = gHeaderLen + 10  ' location of table within single frame array
                aLocalTbl = g87aStart + 10  ' location of table within souce array
                ' offset single frame array when gif89a structure is used
                If Not g89aStart = 0 Then aPointer = aPointer + 8
            Else
                aPointer = 13        ' global table location
                aLocalTbl = 13       ' same in both arrays
            End If
            For p = 1 To gColorsUsed - 1
                gLong = p * 3&
                uniquePalette(gLong) = p
                uniquePalette(gLong + 1) = p
                uniquePalette(gLong + 2) = p
            Next
            ' replace the old palette with the new one
            CopyMemory c_GIFbytes(aPointer), uniquePalette(0), gColorsUsed * 3&
            Erase uniquePalette()
        Else
            TransIndex = -1
        End If
        
        ' all done parsing the GIF file, send it to routine to convert it to a 32bpp
        ParseGIF = ConvertGIFto32bpp(TransIndex, aLocalTbl, cHost)
    
    End If
    
ExitReadRoutine:
Erase c_GIFbytes()  ' bytes no longer needed
If Err Then
    Err.Clear           ' this is a GIF format, but the format is invalid
    cHost.DestroyDIB    ' something is wrong; don't allow it to continue
    ParseGIF = True     ' to other parsers
End If
End Function

Private Sub SkipGifBlock(ByRef Ptr As Long)
    ' Routine skips a block of data within the GIF file
    Dim curByte As Byte
    curByte = c_GIFdata(Ptr)
    Do While curByte > 0
        Ptr = Ptr + curByte + 1
        curByte = c_GIFdata(Ptr)
    Loop
    Ptr = Ptr + 1
End Sub

Private Function ConvertGIFto32bpp(TransIndex As Long, tblOffset As Long, cHost As c32bppDIB) As Boolean

    Dim tPic As StdPicture, tBMP As BITMAP
    
    ' used for parsing a transparent gif
    Dim X As Long, Y As Long, m As Long, dX As Long, Index As Long
    Dim gSA As SafeArray, dSA As SafeArray
    Dim Pow2(0 To 8) As Long, dibBytes() As Byte, gifBytes() As Byte
    Dim maskShift As Long, maskAND As Long
    Dim hostDC As Long
    
    ' first: have API create a stdPicture for us
    Set tPic = iparseArrayToPicture(c_GIFbytes, 0, UBound(c_GIFbytes) + 1)
    If Not tPic Is Nothing Then
        
        ' a VB stdPicture is a DIB, therefore it has a handle to the DIB bits; get it
        GetGDIObject tPic.Handle, Len(tBMP), tBMP
        If Not tBMP.bmBits = 0 Then
        
            ' have host create application's 32bpp DIB
            cHost.InitializeDIB tBMP.bmWidth, tBMP.bmHeight
            
            ' we only need to parse the palette & indexes if transparency is used
            If TransIndex = -1 Then
                hostDC = cHost.LoadDIBinDC(True)
                tPic.Render hostDC + 0&, 0&, 0&, tBMP.bmWidth + 0&, tBMP.bmHeight + 0&, _
                    0&, tPic.Height, tPic.Width, -tPic.Height, ByVal 0&
                cHost.LoadDIBinDC False
                With dSA
                    .cbElements = 1
                    .cDims = 2
                    .pvData = cHost.BitsPointer
                    .rgSABound(0).cElements = cHost.Height
                    .rgSABound(1).cElements = cHost.scanWidth
                End With
                CopyMemory ByVal VarPtrArray(dibBytes), VarPtr(dSA), 4&
                For Y = 0 To tBMP.bmHeight - 1
                    For X = 3 To cHost.scanWidth - 1 Step 4
                        dibBytes(X, Y) = 255
                    Next
                Next
                CopyMemory ByVal VarPtrArray(dibBytes), 0&, 4&
            
            Else
                ' next: getting ready to parse the paletted stdPic
                Pow2(0) = 1
                For X = 1 To tBMP.bmBitsPixel   ' power of 2 array
                    Pow2(X) = Pow2(X - 1) * 2
                Next
                maskAND = Pow2(tBMP.bmBitsPixel) - 1 ' AND mask for stdPic indexes
                ' we need to overlay arrays onto the stdPic and the host's DIB pointers
                With gSA
                    .cbElements = 1
                    .cDims = 2
                    .pvData = tBMP.bmBits
                    .rgSABound(0).cElements = tBMP.bmHeight
                    .rgSABound(1).cElements = iparseByteAlignOnWord(tBMP.bmBitsPixel, tBMP.bmWidth)
                End With
                With dSA
                    .cbElements = 1
                    .cDims = 2
                    .pvData = cHost.BitsPointer
                    .rgSABound(0).cElements = cHost.Height
                    .rgSABound(1).cElements = cHost.scanWidth
                End With
                CopyMemory ByVal VarPtrArray(gifBytes), VarPtr(gSA), 4&
                CopyMemory ByVal VarPtrArray(dibBytes), VarPtr(dSA), 4&
                
                ' last: start parsing stdPic's paletted DIB
                For Y = 0 To tBMP.bmHeight - 1
                    dX = 0: m = 0   ' reset dX=host DIB's X & M=stdPic DIB's X
                    maskShift = 8 - tBMP.bmBitsPixel    ' 1st bit to process
                    
                    ' note: do not loop thru using gif ScanWidth. If the GIF
                    ' width is not DWORD ligned , you will overflow the target
                    ' DIB width and eventually write to uninitialized memory
                    For X = 1 To tBMP.bmWidth
                        ' get the palette index by shifting bits
                        Index = ((gifBytes(m, Y) \ Pow2(maskShift)) And maskAND)
                        
                        If Not Index = TransIndex Then  ' 100% opaque else 100% transparent
                            Index = Index * 3 + tblOffset
                            dibBytes(dX, Y) = c_GIFdata(Index + 2)  ' make BGR vs RGB
                            dibBytes(dX + 1, Y) = c_GIFdata(Index + 1)
                            dibBytes(dX + 2, Y) = c_GIFdata(Index)
                            dibBytes(dX + 3, Y) = 255
                        End If
                        
                        ' adjust for parsing/shifting the next index
                        If maskShift = 0 Then
                            maskShift = 8 - tBMP.bmBitsPixel ' start new byte
                            m = m + 1                        ' next stdPic byte
                        Else
                            maskShift = maskShift - tBMP.bmBitsPixel ' adjust
                        End If
                        dX = dX + 4                          ' next Host pixel
                    Next
                Next
                ' done, remove overlays
                CopyMemory ByVal VarPtrArray(gifBytes), 0&, 4&
                CopyMemory ByVal VarPtrArray(dibBytes), 0&, 4&
                cHost.Alpha = True
            End If
            cHost.ImageType = imgGIF
            ConvertGIFto32bpp = True
        End If
    End If

End Function

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产精品亚洲红杏| 国产一区二区成人久久免费影院| 亚洲国产精品视频| 亚洲美女少妇撒尿| 日韩有码一区二区三区| 国产精品资源在线看| 91麻豆精品在线观看| 日韩精品一区二区三区三区免费| 久久欧美中文字幕| 性做久久久久久| 国产裸体歌舞团一区二区| 91美女视频网站| 日韩欧美国产麻豆| 欧美激情一区二区三区蜜桃视频| 亚洲综合激情另类小说区| 国产高清不卡一区二区| 99精品久久免费看蜜臀剧情介绍| 337p亚洲精品色噜噜| 欧美成人在线直播| 亚洲国产裸拍裸体视频在线观看乱了| 国产一区二区免费在线| 欧美午夜一区二区三区 | 日韩中文字幕1| 色av成人天堂桃色av| 亚洲欧美国产77777| 天堂在线一区二区| 免费观看在线色综合| 99久久99久久精品免费观看| 99久久伊人精品| 国产成a人无v码亚洲福利| 成人免费毛片嘿嘿连载视频| 亚洲一区二区三区四区在线免费观看| 亚洲午夜免费福利视频| 久久成人av少妇免费| 成人一级黄色片| 欧美剧情片在线观看| 国产片一区二区三区| 亚洲6080在线| 成人福利视频网站| 欧美一区二区三级| 亚洲美女视频在线观看| 国产成人午夜视频| 欧美日韩免费在线视频| 中文成人av在线| 黄页网站大全一区二区| 欧美亚洲高清一区二区三区不卡| 久久久久久久综合| 日本不卡1234视频| 欧美日韩一区久久| 亚洲精品成人精品456| 国产高清不卡一区二区| 日韩精品一区二区三区蜜臀| 亚洲一二三专区| www.欧美日韩国产在线| 久久亚洲一区二区三区明星换脸 | 麻豆成人久久精品二区三区小说| 91麻豆蜜桃一区二区三区| 久久久久九九视频| 久久国产三级精品| 91精品国产综合久久香蕉麻豆| 亚洲欧美综合在线精品| 成人动漫一区二区三区| 久久久久国产成人精品亚洲午夜| 蜜桃视频在线一区| 日韩欧美黄色影院| 日韩黄色免费电影| 69久久99精品久久久久婷婷| 亚洲国产aⅴ天堂久久| 欧美艳星brazzers| 亚洲午夜激情网站| 一本大道综合伊人精品热热 | 91色在线porny| 久久久久亚洲蜜桃| 亚洲国产aⅴ天堂久久| 91在线云播放| 91免费国产在线| 日韩欧美一级特黄在线播放| 日韩av二区在线播放| 日韩天堂在线观看| 国产综合色在线视频区| 精品91自产拍在线观看一区| 国产剧情av麻豆香蕉精品| 中文字幕av一区二区三区高 | 精品欧美乱码久久久久久1区2区| 免费观看在线综合色| 久久一区二区三区国产精品| 国产成人自拍网| 综合自拍亚洲综合图不卡区| 91成人免费网站| 婷婷久久综合九色综合绿巨人| 欧美人与禽zozo性伦| 青青草成人在线观看| 久久亚洲精华国产精华液| 国产成+人+日韩+欧美+亚洲| 18欧美亚洲精品| 欧美国产精品中文字幕| 国产欧美日韩亚州综合| 国产精品成人一区二区三区夜夜夜 | 日韩毛片在线免费观看| 美女一区二区在线观看| 成人免费三级在线| 亚洲一级电影视频| 日韩三级免费观看| 国产成人久久精品77777最新版本| 综合久久国产九一剧情麻豆| 欧美二区三区的天堂| 成人一区二区三区| 视频一区二区不卡| 欧美国产成人在线| 精品国产乱码久久| 91麻豆精品一区二区三区| 日韩精品久久理论片| 国产精品久久久久久久岛一牛影视 | 亚洲视频免费在线观看| 欧美一区二区国产| av不卡在线观看| 日本亚洲欧美天堂免费| 国产精品久久久久久久岛一牛影视 | 成人动漫在线一区| 蜜桃视频第一区免费观看| 中文字幕一区二区三区视频| 欧美大片一区二区| 欧美在线免费观看亚洲| 久久99国产乱子伦精品免费| 亚洲最色的网站| 欧美激情综合五月色丁香小说| 91精品国模一区二区三区| 色综合夜色一区| 成人免费看黄yyy456| 免费在线观看一区| 亚洲成人免费电影| 亚洲综合区在线| 亚洲视频小说图片| 国产精品进线69影院| 久久久精品国产99久久精品芒果 | 色呦呦日韩精品| 成人做爰69片免费看网站| 蜜桃视频一区二区三区在线观看| 午夜免费久久看| 日本大胆欧美人术艺术动态| 亚洲欧美日韩国产一区二区三区 | 成人综合婷婷国产精品久久| 精品无人区卡一卡二卡三乱码免费卡| 亚洲大片精品永久免费| 一区二区三区日韩| 亚洲欧美另类在线| 亚洲视频图片小说| 夜色激情一区二区| 一区二区三区欧美| 亚洲一区二区中文在线| 亚洲曰韩产成在线| 亚洲福利一区二区| 日韩成人免费电影| 久久国产精品一区二区| 狂野欧美性猛交blacked| 毛片不卡一区二区| 精品一区二区三区久久| 国产精品99久久久| 成人av在线播放网址| 99r精品视频| 欧美日韩一区二区三区四区| 欧美精品三级日韩久久| 日韩精品一区二区三区swag| 精品久久久久久久久久久久久久久 | 国产精品99久久久久久宅男| 成人丝袜高跟foot| 91蜜桃传媒精品久久久一区二区 | 亚洲国产美女搞黄色| 日欧美一区二区| 久久99久久精品欧美| 成人免费视频caoporn| 在线欧美一区二区| 欧美一区二区三区影视| 国产三级久久久| 亚洲综合在线观看视频| 老司机精品视频一区二区三区| 国产精品 日产精品 欧美精品| 91在线国产观看| 欧美高清视频一二三区 | 日韩一级完整毛片| 欧美激情在线一区二区| 亚洲国产精品久久人人爱| 久久精品国产一区二区三| 99国产欧美久久久精品| 9191成人精品久久| 国产日产欧美一区| 亚洲成人资源在线| 国产麻豆精品95视频| 欧美色倩网站大全免费| 久久免费看少妇高潮| 亚洲一二三区视频在线观看| 韩国成人福利片在线播放| 色诱亚洲精品久久久久久| 精品国产91乱码一区二区三区| 亚洲美女一区二区三区| 国产精品羞羞答答xxdd| 欧美精品777| 亚洲另类春色校园小说| 国产成人亚洲综合色影视| 欧美日本一道本在线视频|