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

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

?? gifimage.pas

?? 是Delphi的界面控件
?? PAS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
//  {$IFNDEF VER10_PLUS}
//    {$DEFINE VER10_PLUS}
//    {$DEFINE VER11_PLUS}
//    {$DEFINE VER12_PLUS}
//    {$DEFINE BAD_STACK_ALIGNMENT}
//  {$ENDIF}
//{$ENDIF}
// 2003.03.09 <-

// 2003.03.09 ->
// Unknown compiler version - assume D7 compatible
{$IFNDEF VER9x}
{$IFNDEF VER10_PLUS}
{$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}
{$ENDIF}
// 2003.03.09 <-

////////////////////////////////////////////////////////////////////////////////
//
//		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
                                        // calculate the effective time (in mS).
                                        // According to the GIF specs, this
                                        // value should be 10.
                                        // Since our paint routines are much
                                        // faster than Mozilla's, you might need
                                        // to increase this value if your
                                        // animations loops too fast. The
                                        // optimal value is impossible to
                                        // determine since it depends on the
                                        // speed of the CPU, the viceo card,
                                        // memory and many other factors.

  GIFDefaultDelay: integer = 10;	// * GIFDefaultDelay:
  					// Default animation delay.
  					// This value is used if no GCE is
                                        // defined.
                                        // (10 = 100 mS)

{$IFDEF FAST_AS_HELL}
  GIFMinimumDelay: integer = 1;		// Minimum delay (from Mozilla source).
  					// (1 = 10 mS)
{$ELSE}
  GIFMinimumDelay: integer = 3;		// Minimum delay - Tweaked.
{$ENDIF}
					// * GIFMinimumDelay:
					// The minumum delay used in the Mozilla
                                        // source is 10mS. This corresponds to a
                                        // value of 1. However, since our paint
                                        // routines are much faster than
                                        // Mozilla's, a value of 3 or 4 gives
                                        // better results.

  GIFMaximumDelay: integer = 1000;	// * GIFMaximumDelay:
  					// Maximum delay when painter is running
  					// in main thread (goAsync is not set).
                                        // This value guarantees that a very
                                        // long and slow GIF does not hang the
                                        // system.
                                        // (1000 = 10000 mS = 10 Seconds)

type
  TGIFVersion = (gvUnknown, gv87a, gv89a);
  TGIFVersionRec = array[0..2] of char;

const
  GIFVersions : array[gv87a..gv89a] of TGIFVersionRec = ('87a', '89a');

type
  // TGIFImage mostly throws exceptions of type GIFException
  GIFException = class(EInvalidGraphic);

  // Severity level as indicated in the Warning methods and the OnWarning event
  TGIFSeverity = (gsInfo, gsWarning, gsError);

////////////////////////////////////////////////////////////////////////////////
//
//			Delphi 2.x support
//
////////////////////////////////////////////////////////////////////////////////
{$IFDEF VER9x}
// Delphi 2 doesn't support TBitmap.PixelFormat
{$DEFINE PIXELFORMAT_TOO_SLOW}
type
  // TThreadList from Delphi 3 classes.pas
  TThreadList = class
  private
    FList: TList;
    FLock: TRTLCriticalSection;
  public
    constructor Create;
    destructor Destroy; override;
    procedure Add(Item: Pointer);
    procedure Clear;
    function  LockList: TList;
    procedure Remove(Item: Pointer);
    procedure UnlockList;
  end;

  // From Delphi 3 sysutils.pas
  EOutOfMemory = class(Exception);

  // From Delphi 3 classes.pas
  EOutOfResources = class(EOutOfMemory);

  // From Delphi 3 windows.pas
  PMaxLogPalette = ^TMaxLogPalette;
  TMaxLogPalette = packed record
    palVersion: Word;
    palNumEntries: Word;
    palPalEntry: array [Byte] of TPaletteEntry;
  end; { TMaxLogPalette }

  // From Delphi 3 graphics.pas. Used by the D3 TGraphic class.
  TProgressStage = (psStarting, psRunning, psEnding);
  TProgressEvent = procedure (Sender: TObject; Stage: TProgressStage;
    PercentDone: Byte; RedrawNow: Boolean; const R: TRect; const Msg: string) of object;

  // From Delphi 3 windows.pas
  PRGBTriple = ^TRGBTriple;
{$ENDIF}

////////////////////////////////////////////////////////////////////////////////
//
//			Forward declarations
//
////////////////////////////////////////////////////////////////////////////////
type
  TGIFImage = class;
  TGIFSubImage = class;

////////////////////////////////////////////////////////////////////////////////
//
//			TGIFItem
//
////////////////////////////////////////////////////////////////////////////////
  TGIFItem = class(TPersistent)
  private
    FGIFImage: TGIFImage;
  protected
    function GetVersion: TGIFVersion; virtual;
    procedure Warning(Severity: TGIFSeverity; Message: string); virtual;
  public
    constructor Create(GIFImage: TGIFImage); virtual;

    procedure SaveToStream(Stream: TStream); virtual; abstract;
    procedure LoadFromStream(Stream: TStream); virtual; abstract;
    procedure SaveToFile(const Filename: string); virtual;
    procedure LoadFromFile(const Filename: string); virtual;
    property Version: TGIFVersion read GetVersion;
    property Image: TGIFImage read FGIFImage;
  end;

////////////////////////////////////////////////////////////////////////////////
//
//			TGIFList
//
////////////////////////////////////////////////////////////////////////////////
  TGIFList = class(TPersistent)
  private
    FItems: TList;
    FImage: TGIFImage;
  protected
    function GetItem(Index: Integer): TGIFItem;
    procedure SetItem(Index: Integer; Item: TGIFItem);
    function GetCount: Integer;
    procedure Warning(Severity: TGIFSeverity; Message: string); virtual;
  public
    constructor Create(Image: TGIFImage);
    destructor Destroy; override;

    function Add(Item: TGIFItem): Integer;
    procedure Clear;
    procedure Delete(Index: Integer);
    procedure Exchange(Index1, Index2: Integer);
    function First: TGIFItem;
    function IndexOf(Item: TGIFItem): Integer;
    procedure Insert(Index: Integer; Item: TGIFItem);
    function Last: TGIFItem;
    procedure Move(CurIndex, NewIndex: Integer);
    function Remove(Item: TGIFItem): Integer;
    procedure SaveToStream(Stream: TStream); virtual;
    procedure LoadFromStream(Stream: TStream; Parent: TObject); virtual; abstract;

    property Items[Index: Integer]: TGIFItem read GetItem write SetItem; default;
    property Count: Integer read GetCount;
    property List: TList read FItems;
    property Image: TGIFImage read FImage;
  end;

////////////////////////////////////////////////////////////////////////////////
//
//			TGIFColorMap
//
////////////////////////////////////////////////////////////////////////////////
  // One way to do it:
  //  TBaseColor = (bcRed, bcGreen, bcBlue);
  //  TGIFColor = array[bcRed..bcBlue] of BYTE;
  // Another way:
  TGIFColor = packed record
    Red: byte;
    Green: byte;
    Blue: byte;
  end;

  TColorMap = packed array[0..GIFMaxColors-1] of TGIFColor;
  PColorMap = ^TColorMap;

  TUsageCount = record
    Count		: integer;	// # of pixels using color index
    Index		: integer;	// Color index
  end;
  TColormapHistogram = array[0..255] of TUsageCount;
  TColormapReverse = array[0..255] of byte;

  TGIFColorMap = class(TPersistent)
  private
    FColorMap		: PColorMap;
    FCount		: integer;
    FCapacity		: integer;
    FOptimized		: boolean;
  protected
    function GetColor(Index: integer): TColor;
    procedure SetColor(Index: integer; Value: TColor);
    function GetBitsPerPixel: integer;
    function DoOptimize: boolean;
    procedure SetCapacity(Size: integer);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产高清aⅴ视频| 777午夜精品视频在线播放| 色8久久精品久久久久久蜜| 日本道精品一区二区三区| 欧美一区二区三区在线观看 | 亚洲影院在线观看| 奇米影视一区二区三区小说| 成人免费毛片aaaaa**| 欧美日韩不卡视频| 久久综合久久鬼色| 亚洲激情在线激情| 久久99精品国产麻豆不卡| 99精品桃花视频在线观看| 欧美精品在线视频| 欧美国产精品一区| 日韩av网站在线观看| 粉嫩一区二区三区性色av| 欧美色图激情小说| 国产丝袜美腿一区二区三区| 亚洲福中文字幕伊人影院| 国产乱国产乱300精品| 欧美三级日本三级少妇99| 久久久久国产一区二区三区四区 | 欧美日韩在线精品一区二区三区激情| 精品国产免费久久| 亚洲一二三区视频在线观看| 国产盗摄一区二区| 91精品欧美一区二区三区综合在 | 欧美在线一区二区三区| 久久亚洲一区二区三区四区| 一区二区免费看| 国产精品99久久久久久宅男| 制服丝袜亚洲播放| 一区二区三区在线免费观看| 国产乱码精品1区2区3区| 8x8x8国产精品| 亚洲欧美激情视频在线观看一区二区三区 | 精品亚洲porn| 欧美视频一区在线| 日韩一区在线免费观看| 国产真实精品久久二三区| 欧美日本一区二区三区四区 | 色噜噜狠狠色综合欧洲selulu| 精品久久99ma| 亚洲第一综合色| 色综合一个色综合亚洲| 国产精品素人视频| 国产精品一区在线观看乱码 | 国产精品99久| 欧美一区二区精品在线| 亚洲一区二区三区在线播放| 成人精品小蝌蚪| 国产欧美一区二区精品性色超碰 | 久久理论电影网| 男女激情视频一区| 欧美久久久久免费| 亚洲一区在线观看视频| 一本色道a无线码一区v| 国产精品久久久久影院| 国产原创一区二区| 精品国产乱码久久久久久夜甘婷婷| 亚洲国产美国国产综合一区二区| 色综合视频在线观看| 国产精品乱人伦一区二区| 国产91丝袜在线播放| 久久久蜜臀国产一区二区| 久久99精品久久久久| 久久综合九色综合97婷婷| 国内精品久久久久影院一蜜桃| 欧美成人精品1314www| 激情丁香综合五月| 久久久久久日产精品| 国产美女精品人人做人人爽| 久久久久久日产精品| 国产91丝袜在线播放0| 国产精品久久久久三级| 91蜜桃婷婷狠狠久久综合9色| 亚洲青青青在线视频| 91国产免费观看| 婷婷久久综合九色综合伊人色| 欧美日韩的一区二区| 蜜臀av国产精品久久久久| 精品理论电影在线观看| 国产精品2024| 中文字幕人成不卡一区| 99re这里只有精品首页| 一区二区三区在线免费观看| 欧美日韩三级视频| 免费观看日韩av| 国产午夜精品一区二区| 99精品偷自拍| 午夜成人免费视频| 久久一留热品黄| 波多野结衣欧美| 亚洲高清免费在线| 精品久久人人做人人爰| 国产成人综合精品三级| 最新高清无码专区| 欧美男生操女生| 国产在线观看一区二区| 日韩一区中文字幕| 制服丝袜成人动漫| 高潮精品一区videoshd| 亚洲欧美日韩中文播放| 欧美电影影音先锋| 国产suv精品一区二区6| 亚洲午夜免费视频| 欧美精品一区二区蜜臀亚洲| 99在线视频精品| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲国产一区二区a毛片| 欧美一级爆毛片| 成人18精品视频| 亚洲成人av一区二区三区| 日韩午夜激情免费电影| 成人免费av在线| 三级一区在线视频先锋| 国产色一区二区| 欧美日韩高清在线| 丰满放荡岳乱妇91ww| 亚洲成人激情综合网| 国产三级精品三级| 欧美夫妻性生活| 大胆亚洲人体视频| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲视频小说图片| 日韩精品一区在线观看| 91久久一区二区| 国产成人aaa| 日本va欧美va精品| 亚洲色图视频网| 久久精品人人做人人爽人人 | 日韩成人精品视频| 国产精品福利一区| 精品国产网站在线观看| 欧美亚洲日本一区| 不卡的av在线播放| 蜜桃视频免费观看一区| 自拍偷拍欧美精品| 欧美精品一区二区久久婷婷| 欧美亚洲动漫制服丝袜| 国产精品综合av一区二区国产馆| 亚洲成人黄色小说| 综合分类小说区另类春色亚洲小说欧美| 欧美不卡123| 欧美丰满美乳xxx高潮www| 99久精品国产| 高清av一区二区| 国产一区二区三区黄视频 | 精品国产露脸精彩对白| 欧美日韩亚洲丝袜制服| 6080午夜不卡| www.亚洲免费av| 国产一区二区三区电影在线观看| 亚洲h在线观看| 亚洲美腿欧美偷拍| 亚洲国产高清aⅴ视频| 欧美精品一区二区三区高清aⅴ| 91精品在线免费| 欧美日韩成人综合| 在线观看国产日韩| 色噜噜狠狠成人网p站| av在线这里只有精品| 粉嫩久久99精品久久久久久夜| 国内精品免费**视频| 美女mm1313爽爽久久久蜜臀| 午夜精品福利一区二区三区av| 亚洲伊人伊色伊影伊综合网| 亚洲三级免费电影| 国产精品国产三级国产三级人妇 | 成人精品亚洲人成在线| 国产成人免费在线视频| 九九九精品视频| 国内精品久久久久影院色| 久久99精品国产| 九九精品一区二区| 激情亚洲综合在线| 极品尤物av久久免费看| 久久不见久久见免费视频7 | 国产视频亚洲色图| 久久精品一级爱片| 欧美激情在线看| 亚洲欧洲99久久| 亚洲精品一卡二卡| 伊人开心综合网| 亚洲第一在线综合网站| 午夜精品久久久久久久久久| 日韩vs国产vs欧美| 久久狠狠亚洲综合| 国产美女av一区二区三区| 粉嫩高潮美女一区二区三区| 99久久精品国产观看| 一本久久精品一区二区| 欧美日韩国产免费| 日韩视频免费观看高清完整版在线观看| 欧美高清你懂得| 26uuu国产日韩综合| 久久精品视频在线免费观看| 欧美国产成人精品| 亚洲乱码国产乱码精品精小说|