private async void AllPicturesToGrayScale(string directory) { var colourImages = Directory.GetFiles(directory, "*.jpg", SearchOption.AllDirectories) .Where(fn => !fn.Contains("bad")) .Select(fn => new Uri(fn)) // .Take(2) .ToList(); var tasks = new List <Task <BitmapSource> >(); foreach (Uri colourImage in colourImages) { tasks.Add(transforms.CreateGrayScaleImageAsync(colourImage)); //TransformedImages.Add(await transforms.CreateGrayScaleImageAsync(colourImage)); } //await Task.WhenAll(tasks); //foreach (var t in tasks) //{ // TransformedImages.Add(await t); //} // results in n * (n+1) / 2 continuations. //while (tasks.Count > 0) //{ // Task<BitmapSource> task = await Task.WhenAny(tasks); // tasks.Remove(task); // TransformedImages.Add(task.Result); //} foreach (var t in tasks.InOrder()) { TransformedImages.Add(await t); } }
private void AllPicturesToGrayScale(string directory) { var colourImages = Directory.GetFiles(directory, "*.jpg", SearchOption.AllDirectories) .Where(fn => !fn.Contains("bad")) .Select(fn => new Uri(fn)) .Take(2) .ToList(); foreach (Uri colourImage in colourImages) { TransformedImages.Add(transforms.CreateGrayScaleImage(colourImage)()); } }
private void ConvertToGrayScale(string filename) { TransformedImages.Add(transforms.CreateGrayScaleImage(new Uri(filename))()); }
private async Task ConvertToGrayScale(string filename) { BitmapSource greyImage = await transforms.CreateGrayScaleImageAsync(filename); TransformedImages.Add(greyImage); }