Vb, Delphi, .net, framework, C++, Java, Pascal,Visual Studio, Asm, Ruby, C#, j#, Cs, Html, Php, Perl, Asp, xHtml Get Free Souce Code Here...



Screencapture with animated gif support!

In may last year i promised to create a component which could
take screenshots and save them in a gif image, and here it
FINALLY is. :)

This component can be used in ANY kind of application, royalty
free with only 1 demand: credits!

==============================================================

Description:

This component can create screenshots of the screen (or
portions of the screen).

You can set a region of what you want to "photograph" by
calling the function

=> TtspScreenCapture.SetRegion(ARegion: TCaptureRegion)

After setting the region you must specify a capture mode.
there are 4 capturemodes:

- cmStillBitmap
- cmStillJPEG
- cmStillGIF
- cmMotionGIF

Now you can take a still image by calling the function

=> TtspScreenCapture.GetStillImage: TCaptureResult;

According to the chosen capture mode you can access the
screenshot in the proper TGraphic object:

=>   TCaptureResult = record
VBitmap: TBitmap;
     VJPEG: TJPEGImage;
     VGIFImage: TGIFImage;
      end;

With these objects you can save the images to wherever you want
them.

Motion gifs require a little different approach.

First you must set the capture mode to cmMotionGIF.
Accordingly you must set the interval in which a screenshot
should be taken by setting the property

=> TtspScreenCapture.MotionGifInterval: integer

This property is in milliseconds. (1 second = 1000 millisecond)

Everything is now ready for capturing.

To activate the capturing set the property

=> TtspScreenCapture.Active: boolean;

to true.

while capturing you can read the current GIFImage by calling the
function

=> TtspScreenCapture.GetMotionGif: TGIFImage;

To stop capturing set the Active property back to false.

The final Gif image is again accesible by calling the function
GetMotionGIF.

======================================================================

Benchmark:

The component also contains a function benchmark. this is a very simple
function which calculates how much frames can be captured in 10 seconds.

the result value is in captured frames per second (rounded).

=======================================================================

well, this wraps it up for now.

Good luck with using this component in your application!

Nevertheless i have 1 more thing to tell you:

1. DON'T forget to credit me in your application. You got this for free
   so it would be quite fair to do this simple thing.

========================================================================

Have fun,

Christiaan ten Klooster
webmaster@tsp2000.tmfweb.nl
www.tsp2000.tmfweb.nl

0 comments:

Post a Comment