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

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

?? gifimage.pas

?? 是Delphi的界面控件
?? PAS
?? 第 1 頁 / 共 5 頁
字號(hào):
unit GIFImage;
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// Project:	GIF Graphics Object                                           //
// Module:	gifimage                                                      //
// Description:	TGraphic implementation of the GIF89a graphics format         //
// Version:	2.2                                                           //
// Release:	5                                                             //
// Date:	23-MAY-1999                                                   //
// Target:	Win32, Delphi 2, 3, 4 & 5, C++ Builder 3 & 4                  //
// Author(s):	anme: Anders Melander, anders@melander.dk                     //
//		fila: Filip Larsen                                            //
//		rps: Reinier Sterkenburg                                      //
// Copyright:	(c) 1997-99 Anders Melander.                                  //
//		All rights reserved.                                          //
// Formatting:	2 space indent, 8 space tabs, 80 columns.                     //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
// Changed 2001.07.23 by Finn Tolderlund:                                     //
// Changed according to e-mail from "Rolf Frei" <rolf@eicom.ch>               //
//   on 2001.07.23 so that it works in Delphi 6.                              //
//                                                                            //
// Changed 2002.07.07 by Finn Tolderlund:                                     //
// Incorporated additional modifications by Alexey Barkovoy (clootie@reactor.ru)
// found in his Delphi 6 GifImage.pas (from 22-Dec-2001).                     //
// Alexey Barkovoy's Delphi 6 gifimage.pas can be downloaded from             //
//   http://clootie.narod.ru/delphi/download_vcl.html                         //
// These changes made showing of animated gif files more stable. The code     //
// from 2001.07.23 could crash sometimes with an Execption EAccessViolation.  //
//                                                                            //
// Changed 2002.10.06 by Finn Tolderlund:                                     //
// Delphi 7 compatible.                                                       //
//                                                                            //
// Changed 2003-03-06 by Finn Tolderlund:                                     //
// Changes made as a result of postings in borland.public.delphi.graphics     //
// from 2003-02-28 to 2003-03-05 where white (255,255,255) in a bitmap        //
// was converted to (254,254,254) in the gif.                                 //
// The doCreateOptimizedPaletteFromSingleBitmap function and                  //
// the CreateOptimizedPaletteFromManyBitmaps function is changed so that      //
// the correct offset 246 is used instead of 245.                             //
// The ReduceColors function is changed according to Anders Melander's post   //
// so that a colour get converted to the precise colour if that colour is     //
// present in the palette when using ColorReduction rmQuantize.               //
//                                                                            //
// Changed 2003-03-09 by Finn Tolderlund:                                     //
// Delphi 7 version is now assumed if unknown compiler version is unknown     //
// for better compatibility with future Delphi versions.                      //
// Hopefully this code is now compatible with future Delphi versions,         //
// unless Borland makes some changes that breaks existing code.               //
//                                                                            //
// Changed 2003-08-04 by Finn Tolderlund:                                     //
// Changed procedure AddMaskOnly so that it doesn't leak a GDI HBitmap-object //
// and it doesn't release the handle of the source bitmap which               //
// is used to assign to the GIF object as in gif.assign(bm);                  //
// These changes were made as a result of a news post made by Renate Schaaf   //
// with the subject "TGifImage HBitmap leak on assign?"                       //
// in borland.public.delphi.graphics on Mon 28 Jul 2003 and Sun 03 Aug 2003.  //
//                                                                            //
// Changed 2004.03.09 by Finn Tolderlund:                                     //
// Added a ForceFrame property to the TGIFImage class.                        //
// The ForceFrame property can be used to make TGIFImage display a apecific   //
// sub frame from an animated gif.                                            //
// How to use: Set the Animate property to False and set the ForceFrame       //
// property to a desired frame number (0-N)                                   //
// Normal display: Set the ForceFrame property to -1 and set Animate to True. //
// If ForceFrame is negative TGIFImage behaves just as before this change.    //
// Note that if the sub frame in the gif only contains part of the image      //
// (i.e. only the changes from previous frames) the result is unpredictable.  //
// The result is best if each sub frame contains a whole image.               //
// If the sub frame is transparent the background is not automatically        //
// restored, you must do so yourself if you want that.                        //
// If you are using a TImage to display the gif you can use                   //
// Image.Parent.Invalidate or Image.Parent.Refresh to restore the background. //
// This change was made as a result of a email correspondance with            //
// Tineke Kosmis (http://www.classe.nl/) which requested such a property.     //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// Please read the "Conditions of use" in the release notes.                  //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
// Known problems:
//
// * The combination of buffered, tiled and transparent draw will display the
//   background incorrectly (scaled).
//   If this is a problem for you, use non-buffered (goDirectDraw) drawing
//   instead.
//
// * The combination of non-buffered, transparent and stretched draw is
//   sometimes distorted with a pattern effect when the image is displayed
//   smaller than the real size (shrinked).
//
// * Buffered display flickers when TGIFImage is used by a transparent TImage
//   component.
//   This is a problem with TImage caused by the fact that TImage was designed
//   with static images in mind. Not much I can do about it.
//
////////////////////////////////////////////////////////////////////////////////
// To do (in rough order of priority):
// { TODO -oanme -cFeature : TImage hook for destroy notification. }
// { TODO -oanme -cFeature : TBitmap pool to limit resource consumption on Win95/98. }
// { TODO -oanme -cImprovement : Make BitsPerPixel property writable. }
// { TODO -oanme -cFeature : Visual GIF component. }
// { TODO -oanme -cImprovement : Easier method to determine DrawPainter status. }
// { TODO -oanme -cFeature : Import to 256+ color GIF. }
// { TODO -oanme -cFeature : Make some of TGIFImage's properties persistent (DrawOptions etc). }
// { TODO -oanme -cFeature : Add TGIFImage.Persistent property. Should save published properties in application extension when this options is set. }
// { TODO -oanme -cBugFix : Solution for background buffering in scrollbox. }
//
//////////////////////////////////////////////////////////////////////////////////
{$ifdef BCB}
{$ObjExportAll On}
{$endif}

interface
////////////////////////////////////////////////////////////////////////////////
//
//		Conditional Compiler Symbols
//
////////////////////////////////////////////////////////////////////////////////
(*
  DEBUG				Must be defined if any of the DEBUG_xxx
  				symbols are defined.
                                If the symbol is defined the source will not be
                                optimized and overflow- and range checks will be
                                enabled.

  DEBUG_HASHPERFORMANCE		Calculates hash table performance data.
  DEBUG_HASHFILLFACTOR		Calculates fill factor of hash table -
  				Interferes with DEBUG_HASHPERFORMANCE.
  DEBUG_COMPRESSPERFORMANCE	Calculates LZW compressor performance data.
  DEBUG_DECOMPRESSPERFORMANCE	Calculates LZW decompressor performance data.
  DEBUG_DITHERPERFORMANCE	Calculates color reduction performance data.
  DEBUG_DRAWPERFORMANCE		Calculates low level drawing performance data.
  				The performance data for DEBUG_DRAWPERFORMANCE
                                will be displayed when you press the Ctrl key.
  DEBUG_RENDERPERFORMANCE	Calculates performance data for the GIF to
  				bitmap converter.
  				The performance data for DEBUG_DRAWPERFORMANCE
                                will be displayed when you press the Ctrl key.

  GIF_NOSAFETY			Define this symbol to disable overflow- and
				range checks.
                                Ignored if the DEBUG symbol is defined.

  STRICT_MOZILLA		Define to mimic Mozilla as closely as possible.
  				If not defined, a slightly more "optimal"
                                implementation is used (IMHO).

  FAST_AS_HELL			Define this symbol to use strictly GIF compliant
  				(but too fast) animation timing.
                                Since our paint routines are much faster and
                                more precise timed than Mozilla's, the standard
                                GIF and Mozilla values causes animations to loop
                                faster than they would in Mozilla.
                                If the symbol is _not_ defined, an alternative
                                set of tweaked timing values will be used.
                                The tweaked values are not optimal but are based
                                on tests performed on my reference system:
                                - Windows 95
                                - 133 MHz Pentium
                                - 64Mb RAM
                                - Diamond Stealth64/V3000
                                - 1600*1200 in 256 colors
                                The alternate values can be modified if you are
                                not satisfied with my defaults (they can be
                                found a few pages down).

  REGISTER_TGIFIMAGE            Define this symbol to register TGIFImage with
  				the TPicture class and integrate with TImage.
                                This is required to be able to display GIFs in
                                the TImage component.
                                The symbol is defined by default.
                                Undefine if you use another GIF library to
                                provide GIF support for TImage.

  PIXELFORMAT_TOO_SLOW		When this symbol is defined, the internal
  				PixelFormat routines are used in some places
                                instead of TBitmap.PixelFormat.
                                The current implementation (Delphi4, Builder 3)
                                of TBitmap.PixelFormat can in some situation
                                degrade performance.
                                The symbol is defined by default.

  CREATEDIBSECTION_SLOW		If this symbol is defined, TDIBWriter will
  				use global memory as scanline storage, instead
                                of a DIB section.
                                Benchmarks have shown that a DIB section is
                                twice as slow as global memory.
                                The symbol is defined by default.
                                The symbol requires that PIXELFORMAT_TOO_SLOW
                                is defined.

  SERIALIZE_RENDER		Define this symbol to serialize threaded
  				GIF to bitmap rendering.
                                When a GIF is displayed with the goAsync option
                                (the default), the GIF to bitmap rendering is
                                executed in the context of the draw thread.
                                If more than one thread is drawing the same GIF
                                or the GIF is being modified while it is
                                animating, the GIF to bitmap rendering should be
                                serialized to guarantee that the bitmap isn't
                                modified by more than one thread at a time. If
                                SERIALIZE_RENDER is defined, the draw threads
                                uses TThread.Synchronize to serialize GIF to
                                bitmap rendering.
*)

{$DEFINE REGISTER_TGIFIMAGE}
{$DEFINE PIXELFORMAT_TOO_SLOW}
{$DEFINE CREATEDIBSECTION_SLOW}

////////////////////////////////////////////////////////////////////////////////
//
//		Determine Delphi and C++ Builder version
//
////////////////////////////////////////////////////////////////////////////////

// Delphi 1.x
{$IFDEF VER80}
  'Error: TGIFImage does not support Delphi 1.x'
{$ENDIF}

// Delphi 2.x
{$IFDEF VER90}
  {$DEFINE VER9x}
{$ENDIF}

// C++ Builder 1.x
{$IFDEF VER93}
  // Good luck...
  {$DEFINE VER9x}
{$ENDIF}

// Delphi 3.x
{$IFDEF VER100}
  {$DEFINE VER10_PLUS}
  {$DEFINE D3_BCB3}
{$ENDIF}

// C++ Builder 3.x
{$IFDEF VER110}
  {$DEFINE VER10_PLUS}
  {$DEFINE VER11_PLUS}
  {$DEFINE D3_BCB3}
  {$DEFINE BAD_STACK_ALIGNMENT}
{$ENDIF}

// Delphi 4.x
{$IFDEF VER120}
  {$DEFINE VER10_PLUS}
  {$DEFINE VER11_PLUS}
  {$DEFINE VER12_PLUS}
  {$DEFINE BAD_STACK_ALIGNMENT}
{$ENDIF}

// C++ Builder 4.x
{$IFDEF VER125}
  {$DEFINE VER10_PLUS}
  {$DEFINE VER11_PLUS}
  {$DEFINE VER12_PLUS}
  {$DEFINE VER125_PLUS}
  {$DEFINE BAD_STACK_ALIGNMENT}
{$ENDIF}

// Delphi 5.x
{$IFDEF VER130}
  {$DEFINE VER10_PLUS}
  {$DEFINE VER11_PLUS}
  {$DEFINE VER12_PLUS}
  {$DEFINE VER125_PLUS}
  {$DEFINE VER13_PLUS}
  {$DEFINE BAD_STACK_ALIGNMENT}
{$ENDIF}

// Delphi 6.x
{$IFDEF VER140}
{$WARN SYMBOL_PLATFORM OFF}
  {$DEFINE VER10_PLUS}
  {$DEFINE VER11_PLUS}
  {$DEFINE VER12_PLUS}
  {$DEFINE VER125_PLUS}
  {$DEFINE VER13_PLUS}
  {$DEFINE VER14_PLUS}
  {$DEFINE BAD_STACK_ALIGNMENT}
{$ENDIF}

// Delphi 7.x
{$IFDEF VER150}
{$WARN SYMBOL_PLATFORM OFF}
  {$DEFINE VER10_PLUS}
  {$DEFINE VER11_PLUS}
  {$DEFINE VER12_PLUS}
  {$DEFINE VER125_PLUS}
  {$DEFINE VER13_PLUS}
  {$DEFINE VER14_PLUS}
  {$DEFINE VER15_PLUS}
  {$DEFINE BAD_STACK_ALIGNMENT}
{$ENDIF}

// 2003.03.09 ->
// Unknown compiler version - assume D4 compatible
//{$IFNDEF VER9x}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产色综合久久不卡蜜臀 | 色综合 综合色| 日本一区二区三级电影在线观看 | 国产精品国产自产拍在线| 成人性视频免费网站| 中文字幕一区二区三| eeuss鲁片一区二区三区在线观看| 中文天堂在线一区| 在线看一区二区| 丝袜a∨在线一区二区三区不卡| 欧美一区日本一区韩国一区| 麻豆91免费看| 国产嫩草影院久久久久| 成人中文字幕在线| 亚洲精品欧美激情| 日韩一区二区在线观看视频播放| 久久精品国产久精国产| 国产视频在线观看一区二区三区| 972aa.com艺术欧美| 亚洲一区在线观看网站| 日韩精品在线一区| 成人动漫一区二区三区| 玉足女爽爽91| 精品国产一区a| 91网页版在线| 免费日韩伦理电影| 国产精品美女一区二区| 欧美日本一区二区三区四区| 国产在线不卡一卡二卡三卡四卡| 1区2区3区欧美| 日韩精品专区在线| 色综合av在线| 国产经典欧美精品| 亚洲综合在线观看视频| 久久免费看少妇高潮| 在线观看日韩av先锋影音电影院| 黄网站免费久久| 亚洲精品菠萝久久久久久久| 精品国产3级a| 欧美日韩免费观看一区二区三区| 国内精品写真在线观看| 尤物av一区二区| 久久精品免费在线观看| 欧美日韩一区中文字幕| 高清av一区二区| 韩国毛片一区二区三区| 亚洲精品久久嫩草网站秘色| 欧美成人激情免费网| 色综合色综合色综合| 国产精品中文字幕日韩精品| 天堂在线亚洲视频| 亚洲免费观看高清完整| 久久综合九色综合欧美亚洲| 欧美日韩日日骚| 91美女在线视频| k8久久久一区二区三区 | 日韩精品乱码av一区二区| 综合色天天鬼久久鬼色| 欧美精品一区二区精品网| 欧美日韩aaaaaa| 欧美日精品一区视频| 99视频精品全部免费在线| 国产精品亚洲综合一区在线观看| 秋霞av亚洲一区二区三| 亚洲午夜国产一区99re久久| ...中文天堂在线一区| 国产亚洲综合性久久久影院| 欧美一级在线观看| 制服丝袜亚洲网站| 欧美日韩亚洲丝袜制服| 在线精品视频小说1| 91日韩在线专区| 91小视频免费观看| 91亚洲男人天堂| 99re热这里只有精品免费视频| 成人一级片网址| 成人aaaa免费全部观看| 成人手机在线视频| 99在线精品免费| 91免费观看在线| 色天使色偷偷av一区二区| 色综合天天综合网国产成人综合天 | 精品三级在线观看| 日韩一级完整毛片| 精品国产免费久久| 久久久久久久性| 久久久久久久久久美女| 国产亚洲婷婷免费| 中文子幕无线码一区tr| 亚洲欧美区自拍先锋| 一区二区高清免费观看影视大全| 亚洲在线视频一区| 午夜成人免费视频| 蜜桃精品视频在线| 国产在线国偷精品产拍免费yy| 国产成人aaa| 91亚洲男人天堂| 欧美日免费三级在线| 91精品国产欧美一区二区18| 日韩欧美中文字幕制服| 久久亚洲私人国产精品va媚药| 久久久精品2019中文字幕之3| 国产欧美一二三区| 亚洲午夜一区二区三区| 捆绑紧缚一区二区三区视频 | 久久久99久久| 中文字幕在线免费不卡| 一区二区三区高清在线| 人妖欧美一区二区| 成人免费视频视频在线观看免费 | 欧美日韩亚洲高清一区二区| 91精品在线免费观看| 久久蜜桃香蕉精品一区二区三区| 亚洲同性gay激情无套| 亚洲午夜在线电影| 国产东北露脸精品视频| 欧美午夜寂寞影院| 欧美精品一区二区三| 亚洲欧美日韩国产手机在线| 美女久久久精品| av男人天堂一区| 日韩精品中文字幕在线一区| 日韩美女视频19| 激情伊人五月天久久综合| 91视频免费播放| 精品久久一区二区三区| 一区二区三区在线视频观看58 | 亚洲一区二区三区四区在线观看| 精品在线一区二区| 欧美伊人精品成人久久综合97| 久久综合给合久久狠狠狠97色69| 有坂深雪av一区二区精品| 国产一区二区精品在线观看| 欧美日韩另类一区| 亚洲欧美在线另类| 国精产品一区一区三区mba桃花| 91国偷自产一区二区开放时间| 欧美精品一区二区高清在线观看| 一区二区三区在线视频观看| 国产精品99精品久久免费| 欧美精品日日鲁夜夜添| 日韩一区在线播放| 国产精品一区二区你懂的| 91精品国产综合久久精品图片| 亚洲男人的天堂网| 成人综合婷婷国产精品久久| 欧美精品自拍偷拍动漫精品| 依依成人综合视频| 国产999精品久久久久久绿帽| 欧美一卡二卡三卡| 亚洲成人精品影院| 色诱视频网站一区| 亚洲欧洲三级电影| 国产+成+人+亚洲欧洲自线| 精品国产乱码久久| 麻豆国产精品官网| 日韩视频一区在线观看| 亚洲成人免费视| 欧美亚洲禁片免费| 亚洲免费在线电影| 91丨porny丨首页| 亚洲日本va午夜在线影院| 99久久国产综合精品麻豆| 国产欧美久久久精品影院| 国精产品一区一区三区mba视频| 日韩视频免费观看高清完整版在线观看 | 视频一区二区三区在线| 欧美色窝79yyyycom| 亚洲午夜在线视频| 欧美午夜电影网| 亚洲电影在线播放| 欧美福利视频导航| 青青草97国产精品免费观看无弹窗版| 欧美影院午夜播放| 亚洲第一成年网| 欧美日韩免费观看一区二区三区| 亚洲一区二区三区不卡国产欧美| 在线精品视频免费播放| 香蕉av福利精品导航| 91精品婷婷国产综合久久竹菊| 亚洲aⅴ怡春院| 日韩一区二区不卡| 国产又黄又大久久| 欧美激情一区二区三区在线| av成人动漫在线观看| 亚洲精品免费看| 欧美精品精品一区| 韩国三级在线一区| 国产欧美va欧美不卡在线| 99r精品视频| 日韩一区精品视频| 国产午夜精品一区二区三区嫩草 | 国产呦精品一区二区三区网站| 国产日韩欧美高清| 91麻豆精品秘密| 日韩主播视频在线| 国产亚洲制服色| 欧美中文字幕一区二区三区| 免费观看日韩电影| 国产精品久久久久久久浪潮网站 |