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

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

?? c32bppdib.cls

?? 這是網站里可以播放不同音樂的程序
?? CLS
?? 第 1 頁 / 共 5 頁
字號:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "c32bppDIB"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
'****************************************************************************
'人人為我,我為人人
'枕善居收藏整理
'發布日期:2007/03/15
'描    述:網頁搜索音樂播放器  Ver 1.1.0
'網    站:http://www.Mndsoft.com/  (VB6源碼博客)
'網    站:http://www.VbDnet.com/   (VB.NET源碼博客,主要基于.NET2005)
'e-mail  :Mndsoft@163.com
'e-mail  :Mndsoft@126.com
'OICQ    :88382850
'          如果您有新的好的代碼別忘記給枕善居哦!
'****************************************************************************
Option Explicit

' Credits/Acknowledgements - Thanx goes to:
'   Paul Caton for his class on calling non VB-Friendly DLLs that use _cdecl calling convention
'   Alfred Koppold for his PNG, VB-only, decompression routines
'   www.zlib.net for their free zLIB.dll, the standard DLL for compressing/decompressing PNGs
'   coders like you that provide constructive criticism to make this class better & more all-inclusive

' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
'                                       QUICK OVERVIEW
' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
' About 32bpp pre-multiplied RGB (pARGB) bitmaps, if you are not aware.
'   - These are used specifically for the AlphaBlend API & are GDI+ compatible
'   Advantages:
'       - Images can be per-pixel alpha blended
'       - Opacity can be simultaneously adjusted during rendering
'       - AlphaBlend does both BitBlt & StretchBlt for pARGB images.
'       - Speed: AlphaBlend & GDI+ are pretty quick APIs vs manual blending
'   Disadvantages:
'       - The original RGB values are permanently destroyed during pre-multiplying
'           -- there is no way to convert pARGB back to non-premultiplied RGB values
'           -- the formula would be: reconstructedRed=(preMultipliedRed * 255) \ Alpha.
'               but because of integer division when pre-multiplying the result is only close
'               and if this should be premultiplied again & converted again, the results can get worse
'       - Displaying a pre-multiplied bitmap without AlphaBlend will not result in
'           the image being displayed as expected.
'       - Not ideal for saving due to its size: SizeOf= W x H x 4
'           -- better to save source image instead or compress the DIB bytes using favorite compression utility
'           -- with GDI+, image can be converted to PNG for storage
'       - AlphaBlend (msimg32.dll) is not included with Win95, NT4 and lower
' Note that GDI+ is standard on WinXP+, and can be used on Win98,ME,2K, & on NT4 if SP6 is installed

' About Win95, Win98, NT3.5, NT4 & WinME support
' ----------------------------------------------
' The routines will not honor AlphaBlend if it exists on those systems. Win98's version,
' for example, has several bugs that can crash the application when AlphaBlending to DIBs.
' NT4, NT3.5 & Win95 do not come with AlphaBlend and I do not have WinME to test with.
' Therefore, to support these systems, the Render routine will alphablend manually
' regardless if the AlhpaBlend API (msimg32.dll) exists on the system or not.

' Table of methods used for rendering dependent upon class settings and O/S
' Win2K or Better?  GDI+ Available?  HighQualityInterpolation?  Method of Rendering
'       Yes              Yes                No / Yes            AlphaBlend / GDI+
'       No               Yes                No / Yes            GDI+ / GDI+
'       Yes              No                 No / Yes            AlphaBlend / Manually
'       No               No                 No / Yes            Manually / Manually
' Note that AlphaBlend does not support mirroring nor rotation nor high quality interpolation,
' so if these are applied when rendering, then class will use GDI+ if available,
' otherwise, manually rendered. By default, the class will initialize with
' HighQualityInterpolation=True if GDI+ is available.


' Class Purpose:
' This class holds the 32bpp image. It also marshals any new image thru
' the battery of parsers to determine best method for converting the image
' to a 32bpp alpha-compatible image. It handles rendering, rotating, scaling,
' mirroring of DIBs using manual processes, AlphaBlend, and/or GDI+.
' What about DirectX?  Hmmmm...

' The parser order is very important for fastest/best results...
' cPNGparser :: will convert PNG, all bit depths; aborts quickly if not PNG
' cGIFparser :: will convert non-transparent/transparent GIFs; aborts quickly
' cICOpraser :: will convert XP-Alpha, paletted, true color, & Vista PNG icons
'               -- can also convert most non-animated cursors
' cBMPparser :: will convert bitmaps, wmf/emf & jpgs

' The parsers are efficient. Most image formats have a magic number that give
'   a hint to what type of image the file/stream is. However, checks need to
'   be employed because non-image files could feasibly have those same magic
'   numbers. If the image is determined not to be one the parser is designed
'   to handle, the parser rejects it and the next parser takes over.  The
'   icon parser is slightly different because PNG files can be included into
'   a Vista ico file. When this occurs, the icon parser will pass off the
'   PNG format to the PNG parser automatically.
' And last but not least, the parsers have no advanced knowledge of the image
' format; as far as they are concerned, anything passed is just a byte array

' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
'                                       CHANGE HISTORY
' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
' Accompanying FAQ.rtf is updated with every change
' 20 Feb 07:
'   - PNGparser conversion routines overhauled for speed, minor error found & fixed
'       -- PNGparser.InitializePalette did not correctly identify transparency index for Grayscale with simple transparency
'   - PNGwriter.FormatCaption & FormatText recognized non-spec text but did not prevent it from being written to PNG
'   - Modified PNGwriter to use zLIB compress2 function when available
'   - Error on my part, last post had debugging code using zLibVB.dll vs zLib.dll
'       -- no serious harm but versions prior to this update probably will not be able to use zlib.net's zLib.DLL
' 18 Feb 07:
'   - Bugs recognized & fixed
'       -- cPNGwriter.OptimizeTrueColor could error when converting to 24bpp images
'       -- cPNGwriter.OptimizeTrueColor was not writing the single transparency color for 24bpp converted images
'       -- cPNGwriter.Write_tRNS was not always writing the tranpsarency color either
'       -- PngPropertySet was not honoring the user-selected filterMethod property
' 16 Feb 07:
'   - More PNG support....(First non-GDI+ PNG writer in VB open source? Maybe.)
'       -- Added cPNGwriter class. Can create PNGs using zLIB.dll versions. See class for more
'       -- Added cCDECL class. Allows calling zLIB.dll when zLIB is not VB-friendly
'           -- added modParsers.iparseValidateZLIB to determine if zLIB is available & if VB-friendly
'           -- required adding some custom zLIB calls to end of cPngWriter & cPngParser classes
'       -- added PngPropertySet to allow PNG creation options not possible w/GDI+. Must have zLIB available
'       -- added PngPropertyGet to retrieve settings. Over a dozen options
'       -- added isZlibEnabled property to inform you if zLIB can be used or not
'       -- Modified SaveToStream_PNG & SaveToFile_PNG to use zLIB if GDI+ is not available,
'               but zLIB is or vice versa. zLIB is prefered when pngPropertySet is called
'       -- Zlib is 100% free and is available directly from source: www.zlib.net
' 11 Feb 07:
'   - Logic error. When a DIB is first initialized, the Alpha property is False.
'       This should have been Alpha=True. Note that if you are creating blank DIBs and rendering other
'       DIBs to the blank one, you should change the blank DIB's alpha and image format properties as
'       appropriate, dependent upon what you are rendering to that DIB. The Alpha property is used in
'       other routines and must be accurate, but the ImageType property is not used
'   - Added imgError to the ImageType property enumeration. This can assist when self-rendering
'       DIBs. If ImageType=imgError then Handle=0& and no DIB has been loaded into the class.
' 10 Feb 07:
'   - Added LoadPicture_FromOrignalFormat routine which will recreate the DIB from the bytes
'       cached during a call to LoadPicture_File or LoadPicture_Stream
'   - Added TrimImage routine which will remove excess transparency from an image
'       If a 256x256 image has 20x20 transparency border around it, the image will be reduced to 216x216
'   - When calling Resize, class would not save original image bytes if they existed; now it does
'   - Minor tweaks in rotation routines. Routines no longer overwrite class' Interpolation setting
'   - Logic error fixed: GDI+ when rendering mirrored & rotated used incorred DC X,Y coordinates
' 4 Feb 07:
'   - Added SaveToFile_PNG & SaveToStream_PNG as main class options, but only supported if isGDIplusEnabled = True
'   - Complete revamp of mirroring routines.
'       -- Added MirrorDIB routine that mirrors an image as needed & mirrored bytes are later rotated, scaled, rendered
'       -- Previous version attempted to calculate mirroring offsets when scaling, rotating, rendering -- failed
'       -- Following routines modified: pvResize, CopyImageTo, Resize, RotateAtTopLeft
'   - Logic error fixed: pvResize would clip wrong end of image when image is rendered past vertical bounds of DC.
'   - Modified startup to always set HighQualityInterpolation if GDI+ is available.
' 1 Feb 07: By request...
'   - Added mirroring support to following routines. Passing a negative destination width and/or height causes mirroring
'       - pvResize, Win9xBlend, CopyImageTo, Resize, RotateAtCenterPoint, RotateAtTopLeft & cGDIPlus.RenderGDIplus
'       - The msimg32.dll AlphaBlend API cannot perform mirroring. Therefore...
'       - Whenever mirroring is in effect and GDI+ can't be used, mirroring will be done manually
'       - GDI+, if available, will only perfrorm the mirroring if also rotating or if HighQualityInterpolation=True
'   - Found another minor bug. Broke GDI+ ability to Global blend while rotating. Fixed.
' 31 Jan 07:
'   - Fixed logic error when rotating negative angles via GDI+ (cGDIPlus.RenderGDIplus routine)
'   - Fixed logic error when manually resizing using BiLinear method (pvResize routine)
'       - routines were combining current pixel with one above, not below as required
'   - Fixed rotation routines (non-GDI+); now rotation while non-proportional scaling compatible
'   - Renamed cPNGParser.SaveTo routine to cGDIPlus.SaveToPNG. See Change 4Jan07 below for more
' 30 Jan 07:
'   - Added rotation options. See RotateAtCenterPoint & RotateAtTopLeft
'       - The two routines are identical except for how the destination X,Y coords are determined
'   - Added isGDIplusEnabled property to inform you whether or not GDI+ can be used on the system
'   - Added HighQualityInterpolation property to produce better renderings
'       - When set to True & GDI+ is available, any rendering is done by GDI+
'       - When set to True and GDI+ is not available, manual interpolation is done when scaling/rotating
'       - Property can be set to False manually to prevent GDI+ usage
'   - Added MakeGrayScale routine. Irreversible pixel modifications
'       - 3 different grayscale formulas are provided
'   - Relocated all GDI+ function calls and related code into a new class: cGDIPlus
'   - Relocated cPNGparser.ValidateDLL to modParsers as iparseValidateDLL
' 25 Jan 07:
'   - Modified Win9xBlend routine. Did not exactly replicate AlphaBlend when stretching; fixed I believe
'       -- Added extra checks in Win9xBlend & pvResize when alphablending on Win9x systems.
'       -- Prevents user from supplying invalid values that could cause routines to read past allocated memory
'       -- Properly handles negative destination DC offsets
'   - Changed iswin95Alpha property to isAlphaBlendFriendly to indicate whether or not AlphaBlend will be used
' 24 Jan 07:
'   - Now compatible with all O/S. Added Win95/NT4 support to the following routines:
'       CopyImageTo, Resize, Render
'       -- Added Win9xBlend & heavily modified then added Carles P.V.'s pvResize routine
'   - Bug found. cPNGparser.vbDecompress, under NT4, was causing crashes when trying to
'       resize a passed byte array. Fixed. Array is sized before it is passed to that routine
'   - Bug found. The iparseCreateShapedRegion routine was creating shaped regions bottom up
'       and this crashed on NT4. Fixed so regions are created top down always
'   - Bug found. In Win98 & possibly other O/S. When VB creates a 24bpp stdPicture as used
'       in cBMPparser, the stdPicture.Render method can write into the alpha channel of the
'       destination 32bpp DIB; 24bpp has no alpha channel. Routine tweaked to handle that.
' 17 Jan 07:
'   - Added CreateCheckerBoard method. This method will create a checkerboard pattern
'       as the DIB image. It will also set the ImageType property to imgCheckerBoard
'       so you know whether or not the image is class checkerboard or not.
'       This can be useful when the DIB should be displayed, but has no image to display.
'       The flag can be used to determine saving the image. If imgCheckerboard then noSave
'   - Added Resize method to permanently resize the image within the DIB
'   - Added optional resizing parameters to CopyImageTo routine
'   - Tweaked cBMPparser & cGIFparser to always modify alpha bytes regardless of transparency
'       -- Previously, when image had no transparency, the alpha bytes were not touched, rather
'          the class tracked this information via its Alpha property. But if you wanted to pass
'          the DIB to some other routine in your project and process/render it, the unmodified
'          alpha bytes could prove to fool those processes/routines
'   - Tweaked Render method to fully expose all of AlphaBlend's parameters
'   - LoadPicture_StdPicture could not process WMFs, fixed
'   - LoadDIBinDC fixed - could fail if multiple calls made passing a True parameter
'   - Error in LoadPictureEx prevented saving image bytes when PNG file was loaded, fixed
' 5 Jan 07:
'   - Added SaveFormat parameter to LoadPicture_File & LoadPicture_Stream
'       -- option has class cache the original bytes of the image if loaded
'       -- the 32bpp DIB will always be larger than the source bytes and for
'           usercontrols, saving the original bytes takes less space than
'           saving the DIB bytes.
'   - Added GetOrginalFormat to retrieve bytes when SaveFormat was passed as True
'   - Added SetOriginalFormat used when copying one DIB class to another
' 4 Jan 07:
'   - Added LoadPicture_ByHandle, LoadPicture_StdPicture, ScaleImage & CopyImageTo
'   - Added cGDIPlus.SaveToPNG (testing). Requires GDI+ or zLIB but will save 32bpp to PNG file or stream
'       -- not accessible, right now, from c32bppDIB. Must create cGDIPlus class to use it.
'   - Modified cICOparser's GetBestMatch algorithm
'   - Added imgPNGicon as an image type to distinguish PNG in Vista Icon vs standard .PNG file
'   - Bug found: removing overlays in cGIFparser.ConvertGIFto32bpp; forgot ByVal VarPtrArray(...)
'       which could cause crash when compiled. Fixed & double checked everywhere else too
' 1 Jan 07:
'   - Added SaveToFile & SaveToStream methods
'   - cBMPparser could possibly try to query unauthorized memory; fixed
'   - Methodology changed a bit when parsers return results. If image is definitely one
'       that the parser is responsible for & the image is invalid, the parser will return
'       True to prevent other parsers from handling the image. The c32bppDIB.Handle is used
'       to determine true success or failure.
'       -- cGIFparser when recognizing improperly formatted GIF would allow image to continue to
'           other parsers which then may cause those parsers to lock up.
' 26 Dec 06: First version
' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =


' 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.
' Note: I did take liberties, changing parameter types, in several APIs throughout

' Used to determine operating system
Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As Any) As Long
Private Const VER_PLATFORM_WIN32_WINDOWS As Long = &H1
Private Type OSVERSIONINFOEX
   dwOSVersionInfoSize As Long
   dwMajorVersion As Long
   dwMinorVersion As Long
   dwBuildNumber As Long
   dwPlatformId As Long
   szCSDVersion As String * 128 ' up to here is OSVERSIONINFO vs EX
   wServicePackMajor As Integer ' 8 bytes larger than OSVERSIONINFO
   wServicePackMinor As Integer
   wSuiteMask As Integer
   wProductType As Byte
   wReserved As Byte
End Type

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产清纯在线一区二区www| 欧美激情一区二区| 国产成人在线视频网址| 亚洲最新视频在线播放| 久久久久久电影| 在线成人免费视频| 不卡的电影网站| 奇米色一区二区| 亚洲影视资源网| 国产精品美女久久久久av爽李琼 | 欧美在线小视频| 狠狠狠色丁香婷婷综合久久五月| 亚洲亚洲精品在线观看| 国产亚洲人成网站| 日韩欧美高清在线| 欧美日韩精品欧美日韩精品一 | 视频一区视频二区中文| 国产精品久久久久久久久免费丝袜| 日韩丝袜美女视频| 欧美日韩在线播放一区| 99热国产精品| 成熟亚洲日本毛茸茸凸凹| 青椒成人免费视频| 香蕉久久一区二区不卡无毒影院 | 亚洲在线一区二区三区| 一区二区高清视频在线观看| 久久久夜色精品亚洲| 日韩午夜小视频| 欧美最新大片在线看| 91亚洲精品一区二区乱码| 国产成人免费视频网站| 美国三级日本三级久久99| 日本美女一区二区| 视频一区在线视频| 婷婷夜色潮精品综合在线| 亚洲一二三区视频在线观看| 一区二区三区不卡视频| 亚洲综合色婷婷| 亚洲一区二区三区四区不卡| 亚洲免费在线观看视频| 亚洲区小说区图片区qvod| 中文字幕亚洲电影| 亚洲色图欧洲色图| 亚洲人亚洲人成电影网站色| 亚洲欧美一区二区三区国产精品 | 色综合天天综合网国产成人综合天| 成人av先锋影音| 不卡视频在线观看| 91在线观看一区二区| 成人激情动漫在线观看| av福利精品导航| 色综合天天综合网国产成人综合天 | 日韩中文欧美在线| 日本成人在线视频网站| 日本欧美在线看| 久久er99热精品一区二区| 韩国毛片一区二区三区| 久久不见久久见免费视频7| 久久se精品一区精品二区| 国产精品一线二线三线| eeuss影院一区二区三区| 色综合久久久久综合体桃花网| 欧美综合天天夜夜久久| 在线不卡免费欧美| 精品国产乱码久久久久久久| 国产欧美一区二区精品忘忧草 | 亚洲老司机在线| 日日夜夜一区二区| 激情综合网激情| 波波电影院一区二区三区| 26uuu国产电影一区二区| 久久综合999| 亚洲色图制服诱惑| 蜜桃91丨九色丨蝌蚪91桃色| 国产成人免费在线观看不卡| 在线精品视频一区二区| 精品欧美一区二区三区精品久久| 久久久蜜桃精品| 有坂深雪av一区二区精品| 日韩av在线免费观看不卡| 国产麻豆精品久久一二三| 99国产精品久久久久久久久久久 | 成人福利视频在线| 欧美日韩在线亚洲一区蜜芽| 久久久久久久精| 亚洲午夜成aⅴ人片| 国产成人免费网站| 欧美日韩一区在线| 国产欧美精品国产国产专区| 亚洲一区在线观看视频| 国产精品综合一区二区三区| 欧美亚洲一区二区在线观看| 国产欧美日韩三区| 亚洲va欧美va人人爽午夜| 国产69精品久久久久777| 欧美日韩高清一区二区不卡| 中文字幕国产一区| 久久99深爱久久99精品| 色素色在线综合| 久久亚洲一级片| 亚洲成a人片在线观看中文| 成人午夜看片网址| 91精品国产欧美一区二区成人| 国产精品福利一区| 久热成人在线视频| 欧美精品久久久久久久多人混战| 欧美国产精品一区二区三区| 精品在线观看视频| 欧美日韩情趣电影| 亚洲卡通动漫在线| 成人黄色一级视频| 亚洲精品一区二区三区99| 午夜视频在线观看一区| 色综合久久综合中文综合网| 亚洲国产高清不卡| 国产一区不卡视频| 日韩三级高清在线| 日韩精品三区四区| 欧美亚洲高清一区| 亚洲视频免费观看| 菠萝蜜视频在线观看一区| 国产三级精品视频| 国产乱一区二区| 欧美精品一区二区高清在线观看| 日本va欧美va欧美va精品| 欧美日韩国产系列| 亚洲国产美国国产综合一区二区| 99精品在线免费| 午夜精品福利一区二区三区蜜桃| 91丝袜美女网| 亚洲猫色日本管| 91网页版在线| 一区二区三区不卡在线观看| 日本高清不卡视频| 亚洲综合精品自拍| 欧美最猛黑人xxxxx猛交| 亚洲一区av在线| 欧美裸体一区二区三区| 五月激情丁香一区二区三区| 7777精品久久久大香线蕉| 婷婷综合五月天| 91麻豆精品91久久久久久清纯| 免费在线欧美视频| 欧美精品一区二区三区蜜臀| 韩国一区二区三区| 国产女同互慰高潮91漫画| 成人精品高清在线| 日韩一区在线免费观看| 一本到不卡精品视频在线观看| 亚洲精品高清在线观看| 欧美精品在线一区二区三区| 偷拍与自拍一区| 日韩你懂的在线播放| 国产一本一道久久香蕉| 日本一区二区成人在线| 91蜜桃网址入口| 亚洲高清中文字幕| 欧美xxxxxxxxx| 成人国产亚洲欧美成人综合网| 亚洲欧洲国产日本综合| 欧美亚洲国产一区在线观看网站| 秋霞电影一区二区| 国产免费观看久久| 色成人在线视频| 日韩av在线发布| 中文字幕精品一区二区三区精品| 色欧美片视频在线观看| 日韩1区2区3区| 国产丝袜欧美中文另类| 色94色欧美sute亚洲线路一久| 男人的j进女人的j一区| 欧美激情艳妇裸体舞| 欧美曰成人黄网| 精品一区二区在线视频| 中文字幕欧美一区| 欧美日韩成人综合天天影院 | 成人午夜精品在线| 午夜精品久久久久久久久| 一区二区三区在线影院| 欧美一区二区福利在线| 成人精品亚洲人成在线| 午夜视频在线观看一区| 国产欧美一区二区三区在线看蜜臀 | 欧美日韩在线三级| 国产乱淫av一区二区三区 | 亚洲三级视频在线观看| 91精品在线一区二区| voyeur盗摄精品| 六月婷婷色综合| 一区二区三区精密机械公司| 欧美精品一区二区三区久久久 | 韩国av一区二区三区四区| 亚洲欧美日韩在线不卡| 欧美成人国产一区二区| 91看片淫黄大片一级| 激情五月婷婷综合| 亚洲一区二区三区自拍| 中文字幕精品综合| 精品国产sm最大网站免费看| 欧美性受xxxx黑人xyx性爽|