static void Main(string[] args)
{
var directory = args.Length == 0 ? "." : args[0];
directory = directory.EndsWith("\\") ? directory : directory + "\\";
TextWriterTraceListener log = null;
try
{
using (var filestream = new FileStream(directory + "log.csv", FileMode.Create, FileAccess.Write, FileShare.Read))
{
log = new TextWriterTraceListener(filestream);
foreach (var file in new DirectoryInfo(directory).GetFiles().Select(file => file.Name))
{
var begin = DateTime.Now;
using (var source = new Bitmap(Image.FromFile(file)))
{
using (var bm = ConvertToGrayscale(source))
{
bm.Save(string.Format("{0}{1}.{2}", directory, "gray", file));
}
}
var end = DateTime.Now;
log.WriteLine(string.Format("{0},gray.{0},{1}", file, end - begin));
log.Flush();
}
}
}
catch (Exception ex)
{
log.WriteLine(ex.Message);
log.WriteLine(ex.StackTrace);
}
}