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

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

?? gifimage.pas

?? gifimage控件,用法和Tjpegimage一樣.強烈推薦
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
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.  //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// 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}

// Unknown compiler version - assume D4 compatible
{$IFNDEF VER9x}
  {$IFNDEF VER10_PLUS}
    {$DEFINE VER10_PLUS}
    {$DEFINE VER11_PLUS}
    {$DEFINE VER12_PLUS}
    {$DEFINE BAD_STACK_ALIGNMENT}
  {$ENDIF}
{$ENDIF}

////////////////////////////////////////////////////////////////////////////////
//
//		Compiler Options required to compile this library
//
////////////////////////////////////////////////////////////////////////////////
{$A+,B-,H+,J+,K-,M-,T-,X+}

// Debug control - You can safely change these settings
{$IFDEF DEBUG}
  {$C+}	// ASSERTIONS
  {$O-}	// OPTIMIZATION
  {$Q+}	// OVERFLOWCHECKS
  {$R+}	// RANGECHECKS
{$ELSE}
  {$C-}	// ASSERTIONS
  {$IFDEF GIF_NOSAFETY}
    {$Q-}// OVERFLOWCHECKS
    {$R-}// RANGECHECKS
  {$ENDIF}
{$ENDIF}

// Special options for Time2Help parser
{$ifdef TIME2HELP}
{$UNDEF PIXELFORMAT_TOO_SLOW}
{$endif}

////////////////////////////////////////////////////////////////////////////////
//
//			External dependecies
//
////////////////////////////////////////////////////////////////////////////////
uses
  sysutils,
  Windows,
  Graphics,
  Classes;

////////////////////////////////////////////////////////////////////////////////
//
//			TGIFImage library version
//
////////////////////////////////////////////////////////////////////////////////
const
  GIFVersion		= $0202;
  GIFVersionMajor	= 2;
  GIFVersionMinor	= 2;
  GIFVersionRelease	= 5;

////////////////////////////////////////////////////////////////////////////////
//
//			Misc constants and support types
//
////////////////////////////////////////////////////////////////////////////////
const
  GIFMaxColors	= 256;			// Max number of colors supported by GIF
  					// Don't bother changing this value!

  BitmapAllocationThreshold = 500000;	// Bitmap pixel count limit at which
  					// a newly allocated bitmap will be
                                        // converted to 1 bit format before
                                        // being resized and converted to 8 bit.

var
{$IFDEF FAST_AS_HELL}
  GIFDelayExp: integer = 10;		// Delay multiplier in mS.
{$ELSE}
  GIFDelayExp: integer = 12;		// Delay multiplier in mS. Tweaked.
{$ENDIF}
					// * GIFDelayExp:
  					// The following delay values should all
                                        // be multiplied by this value to

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男女男精品视频| 91久久国产综合久久| 色哟哟精品一区| 久久久国产精品午夜一区ai换脸| 亚洲制服欧美中文字幕中文字幕| 久久se这里有精品| 欧美日韩精品欧美日韩精品一综合| 国产欧美一区二区精品秋霞影院 | 在线播放视频一区| 国产精品私房写真福利视频| 欧美96一区二区免费视频| 97久久超碰国产精品电影| 欧美精品一区二区在线观看| 亚洲电影一级黄| 一道本成人在线| 欧美激情一区二区三区在线| 狠狠网亚洲精品| 717成人午夜免费福利电影| 亚洲少妇30p| 成人激情视频网站| 国产午夜一区二区三区| 琪琪一区二区三区| 欧美日韩高清一区二区三区| 一区二区三区中文在线观看| 91老师片黄在线观看| 欧美经典一区二区| 国产suv精品一区二区三区| 精品毛片乱码1区2区3区| 午夜视频一区二区三区| 欧美日韩一区二区电影| 亚洲国产精品一区二区久久恐怖片| 色综合久久中文综合久久牛| 18涩涩午夜精品.www| av一区二区三区| 1000精品久久久久久久久| av资源网一区| 亚洲婷婷国产精品电影人久久| 91亚洲精华国产精华精华液| 国产精品福利一区二区| 99久久夜色精品国产网站| 成人欧美一区二区三区黑人麻豆| proumb性欧美在线观看| 亚洲视频免费看| 欧美午夜精品理论片a级按摩| 亚洲高清一区二区三区| 8x8x8国产精品| 激情综合色综合久久| 久久精品视频在线看| caoporm超碰国产精品| 一区二区三区在线影院| 51精品秘密在线观看| 黄网站免费久久| 国产精品国产三级国产普通话三级| av在线免费不卡| 亚洲一区二区三区爽爽爽爽爽 | 国产福利一区二区三区| 国产精品福利影院| 欧美三级中文字幕| 国内一区二区在线| 亚洲色图一区二区| 91精品国产综合久久久久久久| 另类调教123区| 中文字幕一区二区视频| 欧美中文字幕不卡| 精品一区二区三区不卡| 综合电影一区二区三区| 欧美日韩一区二区欧美激情| 狠狠色丁香久久婷婷综合丁香| 国产精品福利影院| 日韩一区二区在线看片| jlzzjlzz亚洲日本少妇| 午夜视频一区二区| 日本一区二区三区四区| 欧美卡1卡2卡| av成人老司机| 久久精品国产网站| 亚洲男人的天堂在线aⅴ视频| 日韩欧美激情一区| 亚洲国产精品99久久久久久久久| 国内精品伊人久久久久影院对白| 中文在线一区二区| 日韩视频国产视频| 91色九色蝌蚪| 国产成人免费在线观看| 日韩av午夜在线观看| 亚洲精品福利视频网站| 久久综合一区二区| 在线电影一区二区三区| 91亚洲精华国产精华精华液| 国产一区二区三区在线观看免费 | 国产999精品久久久久久 | 国产欧美一区二区精品性色| 欧美日韩高清一区二区三区| 91在线国产观看| 国产很黄免费观看久久| 麻豆91精品91久久久的内涵| 国产精品高潮呻吟| 久久久久国产精品免费免费搜索| 欧美一区二区日韩一区二区| 日本韩国欧美一区| 色综合久久综合| 91免费看`日韩一区二区| 成人手机在线视频| 国产精品18久久久久久久网站| 蜜桃视频在线观看一区二区| 午夜av一区二区三区| 一区二区三区在线免费| 综合亚洲深深色噜噜狠狠网站| 中文字幕av一区二区三区免费看 | 久久激情综合网| 视频一区二区国产| 日韩中文字幕麻豆| 午夜电影一区二区三区| 亚洲国产一区二区视频| 亚洲成人动漫在线免费观看| 亚洲福利视频一区| 首页亚洲欧美制服丝腿| 男男视频亚洲欧美| 美洲天堂一区二卡三卡四卡视频| 日韩高清欧美激情| 麻豆精品视频在线观看免费| 老汉av免费一区二区三区| 蜜臀av在线播放一区二区三区 | 懂色av一区二区三区免费观看 | 久久网这里都是精品| 久久亚洲综合色| 国产精品嫩草99a| 亚洲精品日日夜夜| 亚洲成av人综合在线观看| 日本伊人午夜精品| 国产一区二区伦理片| 成人精品视频一区二区三区尤物| 99久久99久久精品国产片果冻| 一本久久a久久精品亚洲| 欧美制服丝袜第一页| 日韩精品自拍偷拍| 久久人人爽人人爽| 亚洲日本护士毛茸茸| 午夜欧美大尺度福利影院在线看| 日本不卡123| 粉嫩嫩av羞羞动漫久久久| 91小视频在线| 91精品国产入口| 国产午夜久久久久| 亚洲另类在线视频| 美国av一区二区| 成人一区在线观看| 欧美丰满少妇xxxbbb| 2020国产精品自拍| 一区二区三区在线视频免费 | 亚洲三级电影网站| 蜜桃视频在线观看一区二区| 不卡一区二区三区四区| 欧美高清一级片在线| 久久久夜色精品亚洲| 伊人色综合久久天天人手人婷| 久久狠狠亚洲综合| 欧美亚洲自拍偷拍| 久久久久久久久伊人| 亚洲国产精品一区二区久久恐怖片| 国产在线观看免费一区| 欧美性大战久久久| 国产精品天干天干在观线| 奇米在线7777在线精品| 色琪琪一区二区三区亚洲区| 久久久亚洲高清| 日本欧美韩国一区三区| 91免费小视频| 国产欧美日韩另类视频免费观看| 日韩制服丝袜先锋影音| 色香蕉久久蜜桃| 欧美激情一区不卡| 九一九一国产精品| 欧美精品一卡二卡| 亚洲美女免费在线| 成人美女视频在线观看| 日韩欧美不卡一区| 天堂蜜桃一区二区三区| 色婷婷综合久久久中文一区二区| 久久久国产精华| 激情成人综合网| 欧美一区二区不卡视频| 亚洲一区二区四区蜜桃| 99re亚洲国产精品| 国产精品无码永久免费888| 韩国中文字幕2020精品| 欧美一区二区在线免费播放 | 亚洲日本韩国一区| 丁香婷婷综合色啪| 26uuu亚洲综合色| 久久99国产精品麻豆| 日韩久久久久久| 奇米精品一区二区三区在线观看一| 欧美亚洲高清一区| 亚洲一区二区欧美日韩| 欧美性猛交xxxx黑人交| 夜色激情一区二区| 欧美性极品少妇| 日韩专区欧美专区| 日韩欧美亚洲一区二区|