using System;
|
using System.Collections.Generic;
|
using System.Drawing;
|
using System.Drawing.Imaging;
|
using System.IO;
|
using System.Linq;
|
using System.Text;
|
|
using TransCore.Common.Drawing;
|
|
namespace CreateAnimatedGif
|
{
|
class Program
|
{
|
static void Main(string[] args)
|
{
|
#region Old class
|
|
Console.WriteLine("Begin AnimatedGifEncoder Test");
|
DateTime beginTime = DateTime.Now;
|
|
AnimatedGifEncoder animatedGifEncoder = new AnimatedGifEncoder();
|
animatedGifEncoder.SetDelay(3000);
|
|
animatedGifEncoder.Start("C:\\TestProjects\\AnimatedGif\\CreateAnimatedGif\\Output\\oldAnimated.gif");
|
foreach (string fileName in Directory.GetFiles("C:\\TestProjects\\AnimatedGif\\CreateAnimatedGif\\Data"))
|
{
|
using (var image = Image.FromFile(fileName))
|
{
|
animatedGifEncoder.AddFrame(image);
|
}
|
}
|
animatedGifEncoder.Finish();
|
|
Console.WriteLine("Time to create animated gif: {0}", DateTime.Now.Subtract(beginTime).ToString());
|
|
#endregion
|
|
#region New class
|
|
string[] imageFiles = Directory.GetFiles("C:\\TestProjects\\AnimatedGif\\CreateAnimatedGif\\Data");
|
|
Console.WriteLine("\nBegin ImageUtility Test");
|
beginTime = DateTime.Now;
|
|
ImageUtility imageUtility = new ImageUtility();
|
imageUtility.CreateAnimatedGif("C:\\TestProjects\\AnimatedGif\\CreateAnimatedGif\\Output\\newAnimated.gif", imageFiles);
|
//imageUtility.CreateAnimatedGif("C:\\TestProjects\\AnimatedGif\\CreateAnimatedGif\\Output\\newAnimated.gif", imageFiles, 3, 100);
|
|
Console.WriteLine("Time to create animated gif: {0}", DateTime.Now.Subtract(beginTime).ToString());
|
|
#endregion
|
|
#region Compare files
|
|
if (1 == 0)
|
{
|
FileStream fileStream = new FileStream("C:\\TestProjects\\AnimatedGif\\CreateAnimatedGif\\Output\\oldAnimated.gif", FileMode.Open);
|
byte[] oldGifArray = new byte[fileStream.Length];
|
fileStream.Read(oldGifArray, 0, (int)fileStream.Length);
|
fileStream.Dispose();
|
|
fileStream = new FileStream("C:\\TestProjects\\AnimatedGif\\CreateAnimatedGif\\Output\\newAnimated.gif", FileMode.Open);
|
byte[] newGifArray = new byte[fileStream.Length];
|
fileStream.Read(newGifArray, 0, (int)fileStream.Length);
|
fileStream.Dispose();
|
|
int idx = 0;
|
do
|
{
|
Console.WriteLine("\n\n\tOld File\t\tNew File");
|
for (int count = 0; count < 30; count++)
|
{
|
string log = string.Format("{0}\t{1}\t\t{2}", idx, (idx < oldGifArray.Length ? oldGifArray[idx].ToString() : ""),
|
("\t\t" + (idx < newGifArray.Length ? newGifArray[idx].ToString() : "")));
|
Console.WriteLine(log);
|
|
++idx;
|
}
|
|
Console.WriteLine("\nPress any key to continue");
|
Console.ReadKey(true);
|
} while (idx < oldGifArray.Length || idx < newGifArray.Length);
|
}
|
|
#endregion
|
|
Console.WriteLine("\nPress any key to close console window.");
|
Console.ReadKey(true);
|
}
|
}
|
}
|