its possible create a loop gif. The code at the moment, add a label on gif but he repeat 30 times and them stopped...
string originalImgPath = @"..\35.gif";
System.Drawing.Image IMG = System.Drawing.Image.FromFile(originalImgPath);
FrameDimension dimension = new FrameDimension(IMG.FrameDimensionsList[0]);
int frameCount = IMG.GetFrameCount(dimension);
int Length = frameCount;
GifBitmapEncoder gEnc = new GifBitmapEncoder();
for (int s = 0; s < 30; s++)
{
for (int i = 0; i < Length; i++)
{
IMG.SelectActiveFrame(dimension, i);
var aFrame = new Bitmap(IMG);
Graphics graphics = Graphics.FromImage(aFrame);
graphics.FillRectangle(Brushes.White, new Rectangle((aFrame.Width / (6)), aFrame.Height-50, Convert.ToInt32(aFrame.Width/1.5), (aFrame.Height/4)));
graphics.DrawString("\tWelcome\n Andrezila!!", new System.Drawing.Font("Arial", 14, System.Drawing.FontStyle.Bold), System.Drawing.Brushes.Black, Convert.ToInt32(aFrame.Width / 1.3), aFrame.Height - 50);
var bmp = aFrame.GetHbitmap();
var src = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
bmp,
IntPtr.Zero,
System.Windows.Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
gEnc.Frames.Add(BitmapFrame.Create(src));
}
}
string saveImgFile = @"..\tenor-304976776.gif";
using (FileStream fs2 = new FileStream(saveImgFile, FileMode.Create))
{
gEnc.Save(fs2);
}