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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modparsers.bas

?? mp3播放器軟件
?? BAS
?? 第 1 頁 / 共 2 頁
字號:

Public Function iparseIsArrayEmpty(ByVal lArrayPointer As Long) As Boolean
  ' test to see if an array has been initialized
  iparseIsArrayEmpty = (lArrayPointer = -1&)
End Function

Public Function iparseByteAlignOnWord(ByVal bitDepth As Byte, ByVal Width As Long) As Long
    ' function to align any bit depth on dWord boundaries
    iparseByteAlignOnWord = (((Width * bitDepth) + &H1F&) And Not &H1F&) \ &H8&
End Function

Public Function iparseArrayToPicture(inArray() As Byte, Offset As Long, Size As Long) As IPicture
    
    ' function creates a stdPicture from the passed array
    ' Note: The array was already validated as not empty when calling class' LoadStream was called
    
    Dim o_hMem  As Long
    Dim o_lpMem  As Long
    Dim aGUID(0 To 3) As Long
    Dim IIStream As IUnknown
    
    aGUID(0) = &H7BF80980    ' GUID for stdPicture
    aGUID(1) = &H101ABF32
    aGUID(2) = &HAA00BB8B
    aGUID(3) = &HAB0C3000
    
    o_hMem = GlobalAlloc(&H2&, Size)
    If Not o_hMem = 0& Then
        o_lpMem = GlobalLock(o_hMem)
        If Not o_lpMem = 0& Then
            CopyMemory ByVal o_lpMem, inArray(Offset), Size
            Call GlobalUnlock(o_hMem)
            If CreateStreamOnHGlobal(o_hMem, 1&, IIStream) = 0& Then
                  Call OleLoadPicture(ByVal ObjPtr(IIStream), 0&, 0&, aGUID(0), iparseArrayToPicture)
            End If
        End If
    End If

End Function

Public Function iparseHandleToStdPicture(ByVal hImage As Long, ByVal imgType As Long) As IPicture

    ' function creates a stdPicture object from a image handle (bitmap or icon)
    
    Dim lpPictDesc As PictDesc, aGUID(0 To 3) As Long
    With lpPictDesc
        .Size = Len(lpPictDesc)
        .Type = imgType
        .hHandle = hImage
        .hPal = 0
    End With
    ' IPicture GUID {7BF80980-BF32-101A-8BBB-00AA00300CAB}
    aGUID(0) = &H7BF80980
    aGUID(1) = &H101ABF32
    aGUID(2) = &HAA00BB8B
    aGUID(3) = &HAB0C3000
    ' create stdPicture
    Call OleCreatePictureIndirect(lpPictDesc, aGUID(0), True, iparseHandleToStdPicture)
    
End Function

Public Function iparseReverseLong(ByVal inLong As Long) As Long

    ' fast function to reverse a long value from big endian to little endian
    ' PNG files contain reversed longs
    Dim b1 As Long
    Dim b2 As Long
    Dim b3 As Long
    Dim b4 As Long
    Dim lHighBit As Long
    
    lHighBit = inLong And &H80000000
    If lHighBit Then
      inLong = inLong And Not &H80000000
    End If
    
    b1 = inLong And &HFF
    b2 = (inLong And &HFF00&) \ &H100&
    b3 = (inLong And &HFF0000) \ &H10000
    If lHighBit Then
      b4 = inLong \ &H1000000 Or &H80&
    Else
      b4 = inLong \ &H1000000
    End If
    
    If b1 And &H80& Then
      iparseReverseLong = ((b1 And &H7F&) * &H1000000 Or &H80000000) Or _
          b2 * &H10000 Or b3 * &H100& Or b4
    Else
      iparseReverseLong = b1 * &H1000000 Or _
          b2 * &H10000 Or b3 * &H100& Or b4
    End If

End Function

Public Function iparseFileExists(FileName As String) As Boolean
    ' test to see if a file exists
    iparseFileExists = (Len(Dir$(FileName, vbArchive Or vbHidden Or vbReadOnly Or vbSystem)) > 0)

End Function

Public Function iparseValidateDLL(ByVal DllName As String, ByVal dllProc As String) As Boolean
    
    ' PURPOSE: Test a DLL for a specific function.
    
    Dim LB As Long, pa As Long
    
    'attempt to open the DLL to be checked
    LB = LoadLibrary(DllName)
    If LB Then
        'if so, retrieve the address of one of the function calls
        pa = GetProcAddress(LB, dllProc)
        ' free references
        FreeLibrary LB
    End If
    iparseValidateDLL = (Not (LB = 0 Or pa = 0))
    
End Function

Public Function iparseValidateZLIB(ByRef DllName As String, ByRef Version As Long, _
                                ByRef isCDECL As Boolean, ByRef hasCompression2 As Boolean, _
                                Optional ByVal bTestOnly As Boolean) As Boolean
    
    ' PURPOSE: Test ZLib availability and calling convention.
    
    ' About zLIB.  There are several versions ranging from v1.2.3 (latest) to v1.0.? (earliest).
    ' Zlib is used to compress/decompress PNG files, among other things.
    
    ' However, zLIB is written with C calling convention (cdecl) which is unusable with VB.  There
    ' are other modified versions out there that were converted to stdcall calling convention which
    ' is what VB expects. But, we don't know the calling convention of the zLIB in advance, do we?
    
    ' Allowing VB to call cdecl directly results in crashes or invalid function returns. The class
    ' cCDECL is one created by Paul Caton that uses assembly to "wrap" the cdecl call into a stdcall.
    ' But we still need to know the calling convention so we know to use cCDECL or simple API calls.
    
    Dim LB As Long, pa As Long
    Dim asmVal As Integer
    
    DllName = "zlib1.dll"       ' test for newer version first
    For Version = 2& To 1& Step -1&
        LB = LoadLibrary(DllName) 'attempt to open the DLL to be checked
        If LB Then
            hasCompression2 = Not (GetProcAddress(LB, "compress2") = 0)
            pa = GetProcAddress(LB, "crc32") ' retrieve the address of the "crc32" exported function
            If Not pa = 0& Then
                
                If bTestOnly Then Exit For
                Do
                    ' Note: this method will not work for every DLL, nor every function within a DLL.
                    ' I have analyzed 5 versions of zlib (some cdecl, some stdcall) using disassemblers
                    ' and am confident this will work for the crc32 function in all versions.
                    
                    ' Looking for an exit code:
                    CopyMemory asmVal, ByVal pa, 1&
                    Select Case asmVal
                        Case &HC3               ' exit code, no stack clean up
                            isCDECL = True      ' DLL uses cdecl calling convention, we use cCDECL
                            Exit For
                        Case &HC2
                            CopyMemory asmVal, ByVal pa + 1&, 2&
                            If asmVal = &HC Then ' exit code with clean up of 12 bytes (the 3 crc32 parameters)
                                isCDECL = False  ' DLL uses stdcall calling convention, we use APIs
                                Exit For
                            End If
                    End Select
                    pa = pa + 1&
                Loop
            End If
            ' unmap library
            FreeLibrary LB
            LB = 0&
            hasCompression2 = False
        End If
        DllName = "zlib.dll"    ' test for older version next, if necessary
    Next Version
    
    If Not LB = 0& Then FreeLibrary LB
    iparseValidateZLIB = (Not (Version = 0&))
    
End Function


Public Sub iparseValidateAlphaChannel(inStream() As Byte, bPreMultiply As Boolean, bIsAlpha As Boolean, imgType As Long)

    ' Purpose: Modify 32bpp DIB's alpha bytes depending on whether or not they are used
    
    ' Parameters
    ' inStream(). 2D array overlaying the DIB to be checked
    ' bPreMultiply. If true, image will be premultiplied if not already
    ' bIsAlpha. Returns whether or not the image contains transparency
    ' imgType. If passed as -1 then image is known to be not alpha, but will have its alpha values set to 255
    '          When routine returns, imgType is either imgBmpARGB, imgBmpPARGB or imgBitmap

    Dim X As Long, Y As Long
    Dim lPARGB As Long, zeroCount As Long
    Dim bPARGB As Boolean, bAlpha As Boolean

    ' see if the 32bpp is premultiplied or not and if it is alpha or not
    If Not imgType = -1 Then
        For Y = 0 To UBound(inStream, 2)
            For X = 3 To UBound(inStream, 1) Step 4
                Select Case inStream(X, Y)
                Case 0
                    If lPARGB = 0 Then
                        ' zero alpha, if any of the RGB bytes are non-zero, then this is not pre-multiplied
                        If Not inStream(X - 1, Y) = 0 Then
                            lPARGB = 1 ' not premultiplied
                        ElseIf Not inStream(X - 2, Y) = 0 Then
                            lPARGB = 1
                        ElseIf Not inStream(X - 3, Y) = 0 Then
                            lPARGB = 1
                        End If
                        ' but don't exit loop until we know if any alphas are non-zero
                    End If
                    zeroCount = zeroCount + 1 ' helps in decision factor at end of loop
                Case 255
                    ' no way to indicate if premultiplied or not, unless...
                    If lPARGB = 1 Then
                        lPARGB = 2    ' not pre-multiplied because of the zero check above
                        Exit For
                    End If
                Case Else
                    ' if any Exit For's below get triggered, not pre-multiplied
                    If lPARGB = 1 Then
                        lPARGB = 2: Exit For
                    ElseIf inStream(X - 3, Y) > inStream(X, Y) Then
                        lPARGB = 2: Exit For
                    ElseIf inStream(X - 2, Y) > inStream(X, Y) Then
                        lPARGB = 2: Exit For
                    ElseIf inStream(X - 1, Y) > inStream(X, Y) Then
                        lPARGB = 2: Exit For
                    End If
                End Select
            Next
            If lPARGB = 2 Then Exit For
        Next
        
        ' if we got all the way thru the image without hitting Exit:For then
        ' the image is not alpha unless the bAlpha flag was set in the loop
        
        If zeroCount = (UBound(inStream, 1) + 1) * (UBound(inStream, 2) + 1) Then ' every alpha value was zero
            bPARGB = False: bAlpha = False ' assume RGB, else 100% transparent ARGB
            ' also if lPARGB=0, then image is completely black
            imgType = vbPicTypeBitmap
        Else
            Select Case lPARGB
                Case 2: bPARGB = False: bAlpha = True ' 100% positive ARGB
                Case 1: bPARGB = False: bAlpha = True ' now 100% positive ARGB
                Case 0: bPARGB = True: bAlpha = True
            End Select
        End If
    End If
    
    ' see if caller wants the non-premultiplied alpha channel premultiplied
    If bAlpha = True Then
        If bPARGB Then ' else force premultiplied
            imgType = imgBmpPARGB
        Else
            imgType = imgBmpARGB
            If bPreMultiply = True Then
                For Y = 0 To UBound(inStream, 2)
                    For X = 3 To UBound(inStream, 1) Step 4
                        If inStream(X, Y) = 0 Then
                            CopyMemory inStream(X - 3, Y), 0&, &H4
                        ElseIf Not inStream(X, Y) = 255 Then
                            For lPARGB = X - 3 To X - 1
                                inStream(lPARGB, Y) = ((0& + inStream(lPARGB, Y)) * inStream(X, Y)) \ &HFF
                            Next
                        End If
                    Next
                Next
                bAlpha = True
            End If
        End If
    Else
        If bPreMultiply = True Then
            For Y = 0 To UBound(inStream, 2)
                For X = 3 To UBound(inStream, 1) Step 4
                    inStream(X, Y) = 255
                Next
            Next
        End If
    End If
    bIsAlpha = bAlpha

End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品少妇xxxx偷拍精品少妇| 91蜜桃传媒精品久久久一区二区| 国产福利一区在线| 91久久久免费一区二区| 久久理论电影网| 亚洲国产三级在线| 成人高清视频在线| 精品久久久久久久久久久久久久久久久 | 精品国产伦一区二区三区观看体验| 中文av字幕一区| 麻豆国产欧美日韩综合精品二区| 色综合久久综合网97色综合| 久久久国产精品不卡| 免费视频一区二区| 欧美色大人视频| 亚洲欧美日韩国产一区二区三区 | 91精品久久久久久久99蜜桃| 亚洲欧洲成人自拍| 粉嫩av一区二区三区粉嫩 | 欧美日韩国产高清一区| 综合久久久久久| 国产999精品久久久久久绿帽| 欧美电影免费观看高清完整版在线 | 久久久精品天堂| 麻豆91精品91久久久的内涵| 欧美挠脚心视频网站| 一区二区三区小说| 91美女精品福利| 中文字幕在线不卡视频| 99热这里都是精品| 中文字幕精品—区二区四季| 国内精品在线播放| 精品动漫一区二区三区在线观看| 日本免费新一区视频| 91精品久久久久久久久99蜜臂| 亚洲成av人片在www色猫咪| 91福利精品视频| 亚洲伦在线观看| 欧美性色黄大片| 亚洲大尺度视频在线观看| 欧美丰满少妇xxxbbb| 日韩影院在线观看| 精品噜噜噜噜久久久久久久久试看| 久久国产福利国产秒拍| 久久综合九色综合97婷婷| 精品午夜久久福利影院| 久久综合五月天婷婷伊人| 国产在线国偷精品产拍免费yy| 久久夜色精品一区| 国产成人精品午夜视频免费| 中文一区在线播放| 91黄色在线观看| 日日摸夜夜添夜夜添精品视频| 日韩欧美亚洲国产另类| 黄页网站大全一区二区| 中文字幕欧美日本乱码一线二线| aaa国产一区| 亚洲国产人成综合网站| 日韩午夜激情av| 国产suv精品一区二区883| 综合久久综合久久| 欧美日韩激情在线| 国产一区二区三区四区五区入口| 国产亚洲视频系列| 色婷婷精品久久二区二区蜜臂av| 亚洲国产精品久久人人爱| 日韩一区二区三区观看| 成人爽a毛片一区二区免费| 一区二区三区免费观看| 日韩欧美国产成人一区二区| 成人精品国产一区二区4080| 亚洲大片在线观看| 中文字幕va一区二区三区| 欧美系列一区二区| 国产伦精品一区二区三区视频青涩 | 亚洲a一区二区| 久久毛片高清国产| 欧美男同性恋视频网站| 国产91精品欧美| 图片区小说区国产精品视频| 国产日韩精品一区二区三区在线| 91国模大尺度私拍在线视频| 极品美女销魂一区二区三区| 亚洲乱码日产精品bd| 国产三级精品三级| 91精品麻豆日日躁夜夜躁| 91免费看片在线观看| 国产自产v一区二区三区c| 一区二区三区精密机械公司| 久久亚洲一区二区三区明星换脸| 欧美日韩午夜精品| av欧美精品.com| 国产伦精品一区二区三区在线观看| 亚洲成国产人片在线观看| 亚洲欧洲av一区二区三区久久| 2023国产一二三区日本精品2022| 欧美少妇性性性| 99久久精品国产一区二区三区 | 久久久久久亚洲综合影院红桃 | 欧美日韩精品一区二区在线播放| 国产传媒一区在线| 另类欧美日韩国产在线| 天堂成人国产精品一区| 一区二区三区四区不卡在线| 中文字幕一区二区三区在线观看 | 欧美一区二区三区在线看| 91九色最新地址| 91视频国产资源| 国产成人免费在线视频| 男女性色大片免费观看一区二区 | 欧美日韩亚洲国产综合| 91国产丝袜在线播放| 一本色道a无线码一区v| 99久久精品情趣| 99久久免费精品| 91亚洲精华国产精华精华液| 白白色亚洲国产精品| 国产精品白丝jk黑袜喷水| 国产在线播放一区二区三区| 国产在线精品一区二区夜色| 激情欧美一区二区三区在线观看| 美国一区二区三区在线播放| 免费三级欧美电影| 极品少妇一区二区| 国产高清成人在线| 国产91富婆露脸刺激对白| 国产91综合网| av中文字幕不卡| 一本色道亚洲精品aⅴ| 欧美影院一区二区| 91精选在线观看| 精品国产乱码久久久久久久| 久久尤物电影视频在线观看| 久久精品一二三| 亚洲欧美综合在线精品| 伊人婷婷欧美激情| 视频一区视频二区中文字幕| 麻豆免费精品视频| 成人伦理片在线| 欧美视频一区二区三区| 69久久夜色精品国产69蝌蚪网 | 欧美精品三级日韩久久| 日韩视频在线永久播放| 国产欧美日韩不卡免费| 亚洲综合一二区| 久久se精品一区二区| 北条麻妃一区二区三区| 欧美精品在线一区二区三区| 精品少妇一区二区三区视频免付费| 久久综合色天天久久综合图片| 国产精品美女www爽爽爽| 亚洲第一激情av| 国产精品亚洲а∨天堂免在线| 91免费精品国自产拍在线不卡| 欧美精品粉嫩高潮一区二区| 精品国产乱码久久久久久久久| 亚洲欧美偷拍三级| 蜜臀精品久久久久久蜜臀| 国产成人8x视频一区二区| 在线观看亚洲a| 久久九九久精品国产免费直播| 一区二区三区在线影院| 国内欧美视频一区二区| 在线观看免费成人| 日本一区二区成人在线| 日韩影视精彩在线| 色又黄又爽网站www久久| 337p日本欧洲亚洲大胆精品 | 色哟哟国产精品| 久久久久免费观看| 日本午夜精品一区二区三区电影 | 国产寡妇亲子伦一区二区| 欧美群妇大交群中文字幕| 中文字幕中文字幕一区二区| 精品一区二区在线免费观看| 欧美亚洲一区二区在线| 国产精品美女久久久久久2018 | 亚洲国产精品久久久男人的天堂| 国产高清不卡二三区| 日韩一区二区三区电影在线观看| 亚洲精品免费视频| 国产成人午夜视频| 日韩免费在线观看| 天天色天天爱天天射综合| 91麻豆文化传媒在线观看| 久久精品日韩一区二区三区| 日本不卡1234视频| 欧美三区免费完整视频在线观看| 国产精品久久久久久妇女6080| 老司机精品视频导航| 91精品国产91久久久久久一区二区| 一区二区三区四区视频精品免费| 国产福利91精品| 国产欧美精品一区aⅴ影院 | 2021久久国产精品不只是精品| 日韩国产精品久久| 911精品国产一区二区在线| 亚洲一区二区不卡免费| 91成人免费网站| 综合激情网...|