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

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

?? gifimage.pas

?? 是Delphi的界面控件
?? 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.  //
//                                                                            //
// 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}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀精品久久久久久蜜臀| 国产一区二区在线观看视频| 蜜桃视频一区二区三区在线观看| 国产99精品视频| 日韩一级大片在线| 亚洲综合999| 成人性视频免费网站| 日韩免费观看高清完整版在线观看 | 欧洲亚洲国产日韩| 国产精品乱码妇女bbbb| 精品一区二区三区香蕉蜜桃| 欧美午夜理伦三级在线观看| 国产精品久久三| 狠狠色狠狠色综合| 日韩一区二区不卡| 亚洲一二三区不卡| 色又黄又爽网站www久久| 国产欧美日韩精品a在线观看| 精品一区二区在线看| 91精品国产综合久久久久久久 | 懂色av一区二区三区蜜臀| 日韩精品一区二区三区视频| 视频一区中文字幕国产| 欧美三级资源在线| 亚洲国产毛片aaaaa无费看 | 日韩欧美国产精品一区| 天天做天天摸天天爽国产一区| 91福利在线播放| 亚洲愉拍自拍另类高清精品| 欧美三日本三级三级在线播放| 亚洲一区二区欧美日韩| 欧美日韩一区不卡| 五月天中文字幕一区二区| 欧美放荡的少妇| 秋霞国产午夜精品免费视频| 欧美一区二区三区在线观看视频 | 国产精品乱码人人做人人爱| 丰满少妇在线播放bd日韩电影| 久久久久久久久久久久电影 | 奇米亚洲午夜久久精品| 欧美不卡123| 国精产品一区一区三区mba桃花| 日韩午夜在线影院| 国模少妇一区二区三区| 国产欧美日韩中文久久| 99精品视频在线播放观看| 综合欧美亚洲日本| 欧美久久免费观看| 国内外成人在线| 亚洲视频在线观看一区| 欧美区在线观看| 久久国产乱子精品免费女| 久久久777精品电影网影网| 成人h精品动漫一区二区三区| 亚洲精品ww久久久久久p站 | 国模一区二区三区白浆| 国产精品三级在线观看| 欧美日韩在线三区| 国产精一区二区三区| 亚洲欧美另类综合偷拍| 正在播放一区二区| 成人亚洲一区二区一| 亚洲高清免费观看高清完整版在线观看| 91精品免费观看| 丁香六月综合激情| 午夜电影一区二区三区| 国产精品欧美精品| 日韩一区二区三区免费看 | 日韩精品成人一区二区三区| 久久综合色之久久综合| 在线观看日韩精品| 国产一二三精品| 亚洲综合av网| 中文字幕不卡的av| 欧美一区二区高清| 一本大道久久a久久综合婷婷| 麻豆精品新av中文字幕| 亚洲女与黑人做爰| 国产性天天综合网| 日韩欧美国产高清| 欧美专区日韩专区| av在线综合网| 国产精品资源站在线| 日韩精品成人一区二区在线| 亚洲视频免费观看| 国产欧美精品区一区二区三区 | 久久99日本精品| 一级做a爱片久久| 久久久久久一二三区| 制服丝袜亚洲网站| 欧美日韩三级在线| 97国产一区二区| 成人一区二区三区在线观看 | 欧美中文字幕一区二区三区 | 欧美猛男男办公室激情| 99久久国产综合精品女不卡| 激情伊人五月天久久综合| 午夜久久久久久电影| 亚洲视频一区在线观看| 中文字幕中文字幕一区| 国产午夜精品久久久久久免费视| 日韩免费观看高清完整版在线观看| 欧美亚洲一区二区在线| 色婷婷精品大视频在线蜜桃视频| 成人国产精品免费网站| www.一区二区| 色综合色综合色综合| 99久久精品免费| 成人毛片视频在线观看| 成人国产精品免费观看| 97国产一区二区| 色婷婷精品大在线视频| 91国偷自产一区二区开放时间| 色婷婷国产精品综合在线观看| 色婷婷av一区二区三区之一色屋| 色综合久久久久综合99| 欧美性猛交xxxxxxxx| 欧美精品自拍偷拍| 91精品婷婷国产综合久久性色| 在线观看91av| 精品久久久久久久久久久久包黑料 | 美国av一区二区| 久久精品国产免费| 国产乱色国产精品免费视频| 成人免费毛片嘿嘿连载视频| 国产91露脸合集magnet | 艳妇臀荡乳欲伦亚洲一区| 亚洲国产精品精华液网站| 婷婷丁香久久五月婷婷| 九九久久精品视频| jvid福利写真一区二区三区| 91欧美一区二区| 欧美日本精品一区二区三区| 精品毛片乱码1区2区3区| 中文字幕精品一区二区精品绿巨人 | 中文字幕一区二区三区精华液| 综合电影一区二区三区| 亚洲成人在线网站| 国产在线精品一区在线观看麻豆| 国产成人免费视频网站| 色综合久久中文综合久久97| 欧美一区二区视频在线观看| 欧美激情资源网| 亚洲国产综合在线| 国产精品综合一区二区| 日本久久一区二区三区| 欧美不卡在线视频| 亚洲理论在线观看| 久久精品99国产国产精| 91网站视频在线观看| 日韩久久免费av| 亚洲欧美另类久久久精品| 久久99久久99| 欧洲日韩一区二区三区| 精品粉嫩超白一线天av| 洋洋成人永久网站入口| 国产在线观看一区二区| 欧美天天综合网| 国产人久久人人人人爽| 视频精品一区二区| av电影在线观看一区| 久久亚洲欧美国产精品乐播| 亚洲午夜激情网站| aaa欧美色吧激情视频| 日韩免费观看高清完整版 | 国产精品久久久久9999吃药| 免费人成在线不卡| 日本乱人伦aⅴ精品| 中文字幕乱码亚洲精品一区 | 亚洲香蕉伊在人在线观| 成人美女在线观看| 久久亚洲综合av| 美女在线一区二区| 欧美精品在线观看一区二区| 亚洲精品成人a在线观看| 成人午夜视频在线观看| 精品噜噜噜噜久久久久久久久试看| 亚洲高清视频中文字幕| 91久久精品一区二区| 国产精品美女视频| 粉嫩av一区二区三区在线播放| 日韩精品一区二区三区视频在线观看| 亚洲国产精品自拍| 一本久久精品一区二区| 中文字幕在线免费不卡| 国产激情精品久久久第一区二区| 日韩欧美一区在线| 天天操天天色综合| 欧美日韩你懂得| 亚洲一区二区欧美激情| 欧美性猛交xxxxxxxx| 亚洲成在人线免费| 欧美日韩国产高清一区二区| 亚洲午夜电影在线| 欧美日韩国产电影| 日韩极品在线观看| 欧美第一区第二区| 久久国内精品自在自线400部| 日韩亚洲电影在线| 国产在线视视频有精品|