GifSetFrameDisposal Method (GdPictureImaging)
In This Topic
Sets the "Frame disposal method" of a frame of an editable multiframe gif image.
This method should be called before saving using the GifSaveMultiFrameToFile() method.
This defines what to do with the logical canvas area after displaying this image.
Syntax
'Declaration
Public Function GifSetFrameDisposal( _
ByVal As Integer, _
ByVal As Integer, _
ByVal As Integer _
) As GdPictureStatus
public GdPictureStatus GifSetFrameDisposal(
int ,
int ,
int
)
public function GifSetFrameDisposal(
: Integer;
: Integer;
: Integer
): GdPictureStatus;
public function GifSetFrameDisposal(
: int,
: int,
: int
) : GdPictureStatus;
public: GdPictureStatus GifSetFrameDisposal(
int ,
int ,
int
)
public:
GdPictureStatus GifSetFrameDisposal(
int ,
int ,
int
)
Parameters
- ImageID
- GdPicture image identifier. The multiframe gif image.
- Frame
- Frame no between 1 and frame count.
- FrameDisposal
- Can be:1: Leave. Will leave the image in place to be
entirely or partially overdrawn by the next image.2:
Background. Will blank out the area used by the frame with the
background color.3: Previous. Will return the logical
canvas to the previous state before the image was drawn.
Return Value
A member of the GdPictureStatus enumeration.
Example
Creating a multiframe Gif image based on image files.
using (GdPictureImaging gdpictureImaging = new GdPictureImaging())
{
// Create a new editable multiframe Gif image based on an image file and append frames from files.
int imageID = gdpictureImaging.GifCreateMultiFrameFromFile("frame1.bmp");
gdpictureImaging.GifAppendFrameFromFile(imageID, "frame2.bmp");
gdpictureImaging.GifAppendFrameFromFile(imageID, "frame3.bmp");
gdpictureImaging.GifAppendFrameFromFile(imageID, "frame4.bmp");
gdpictureImaging.GifAppendFrameFromFile(imageID, "frame5.bmp");
// Set the number of times the animation should be played, 0 = infinite.
gdpictureImaging.GifSetLoopCount(imageID, 0);
// Set the "frame time" for each and every frame to 1s and the frame disposal to leave the image in place to beentirely or partially overdrawn by the next image.
int frameCount = gdpictureImaging.GifGetFrameCount(imageID);
for (int frameNo = 1; frameNo <= frameCount; frameNo++)
{
gdpictureImaging.GifSetFrameTime(imageID, frameNo, 100);
gdpictureImaging.GifSetFrameDisposal(imageID, frameNo, 1);
}
gdpictureImaging.GifSaveMultiFrameToFile(imageID, "image.gif");
gdpictureImaging.ReleaseGdPictureImage(imageID);
}
Example
Creating a multiframe Gif image based on image files.
using (GdPictureImaging gdpictureImaging = new GdPictureImaging())
{
// Create a new editable multiframe Gif image based on an image file and append frames from files.
int imageID = gdpictureImaging.GifCreateMultiFrameFromFile("frame1.bmp");
gdpictureImaging.GifAppendFrameFromFile(imageID, "frame2.bmp");
gdpictureImaging.GifAppendFrameFromFile(imageID, "frame3.bmp");
gdpictureImaging.GifAppendFrameFromFile(imageID, "frame4.bmp");
gdpictureImaging.GifAppendFrameFromFile(imageID, "frame5.bmp");
// Set the number of times the animation should be played, 0 = infinite.
gdpictureImaging.GifSetLoopCount(imageID, 0);
// Set the "frame time" for each and every frame to 1s and the frame disposal to leave the image in place to beentirely or partially overdrawn by the next image.
int frameCount = gdpictureImaging.GifGetFrameCount(imageID);
for (int frameNo = 1; frameNo <= frameCount; frameNo++)
{
gdpictureImaging.GifSetFrameTime(imageID, frameNo, 100);
gdpictureImaging.GifSetFrameDisposal(imageID, frameNo, 1);
}
gdpictureImaging.GifSaveMultiFrameToFile(imageID, "image.gif");
gdpictureImaging.ReleaseGdPictureImage(imageID);
}
See Also