delphi 7 gif控件

时间:2013-04-27 09:22:32
【文件属性】:

文件名称:delphi 7 gif控件

文件大小:184KB

文件格式:RAR

更新时间:2013-04-27 09:22:32

gif控件

delphi 7 gif控件 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" // // 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. }


【文件预览】:
Gif
----P_Gif.dpk(543B)
----GIFImage.pas(372KB)
----P_Gif.dcu(2KB)
----__history()
--------P_Gif.dpk.~2~(637B)
--------P_Gif.dpk.~1~(541B)
--------P_Gif.dpk.~3~(637B)
----P_Gif_project.tvsconfig(72B)
----P_Gif.dproj.2007(3KB)
----P_Gif.cfg(394B)
----P_Gif.dproj.local(62B)
----P_Gif.dproj(5KB)
----GIFImage.dcu(229KB)
----P_Gif.dof(2KB)
----P_Gif.res(2KB)
----P_Gif.identcache(113B)
----Package1.dcu(1KB)

网友评论

  • D7中根本就不能用,报错
  • 学习中,不错的东西
  • 一般般,但可以支持下
  • Delphi为什么不能使用呢!
  • 不错,D7可以安装,并可以使用。谢谢分享
  • delphi7 安装不了为什么?
  • 确实不能用啊,delphi7的啊。
  • 看到上面都说能用才下载的,可下载后,不能用,不知道是什么因原。
  • 能用,收了
  • 还好,可以用。支持下
  • 版本老了些,不过还是可以用的
  • 貌似不会用。谢了3q
  • 显示效果不错
  • 不错的,显示动态gif
  • 版本老了些,不过还是可以用的。