示例#1
0
        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();
        }
示例#2
0
        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();
            });
        }