async Task GenerateFunction(int lut_size) { SKData data = new SKData(); //Task.Run(() => { var image = Hald.GenerateClutImage(lut_size); SKImage img = SKImage.FromBitmap(image); data = img.Encode(SKImageEncodeFormat.Png, 90); // }); SaveFileDialog savefile = new SaveFileDialog(); savefile.FileName = string.Format("identity_{0}.png", lut_size); savefile.Filter = "PNG files (*.png)|*.png"; if (savefile.ShowDialog() == true) { using (FileStream fs = new FileStream(savefile.FileName, FileMode.Create)) { data.SaveTo(fs); } } EndAnimate(); }
async Task GenerateCubeFile(string fileName) { var lines = new List <string>(); lines = Hald.ConvertClutImageToCube(fileName); Dispatcher.Invoke(() => { if (lines.Count > 0) { SaveFileDialog savefile = new SaveFileDialog(); var name = System.IO.Path.GetFileNameWithoutExtension(fileName); savefile.FileName = string.Format(name + ".cube"); savefile.Filter = "CUBE files (*.cube)|*.cube"; if (savefile.ShowDialog() == true) { if (File.Exists(savefile.FileName)) { File.Delete(savefile.FileName); } File.WriteAllLines(savefile.FileName, lines.ToArray()); } } else { //error Error.Text = "Error: Converison failed. Try with HALD image only."; } EndAnimate(); }); }