Esempio n. 1
0
        private async void OnMedianCutButtonClick(object sender, RoutedEventArgs eventArgs)
        {
            if (mainWindow.CurrentBitmap != null)
            {
                statusText.Text = "Generating Palette";
                int amount = (int)medianCutAmountNumeric.Value;
                ColorPalette = await Task.Run(() => PaletteGeneration.MedianCut(mainWindow.CurrentBitmap, amount));

                ReloadPaletteItems();
                statusText.Text = "";
            }
        }
Esempio n. 2
0
        private async void OnDuoToneAddButtonClick(object sender, RoutedEventArgs eventArgs)
        {
            statusText.Text = "Generating Palette";
            int   amount     = (int)duoToneAmountNumeric.Value;
            float hue        = (float)(duoToneHueNumeric.Value % 360);
            float saturation = (float)duoToneSaturationNumeric.Value;

            ColorPalette.AddRange(await Task.Run(() => PaletteGeneration.FakeDuoTone(amount, hue, saturation)));
            ColorPalette = ColorPalette.Distinct().ToList();
            ReloadPaletteItems();
            statusText.Text = "";
        }
Esempio n. 3
0
        private async void OnKMeansButtonClick(object sender, RoutedEventArgs eventArgs)
        {
            if (mainWindow.CurrentBitmap != null)
            {
                statusText.Text = "Generating Palette";
                int amount = (int)kMeansAmountNumeric.Value;
                int steps  = (int)kMeansStepsNumeric.Value;
                ColorPalette = await Task.Run(() => PaletteGeneration.KMeans(mainWindow.CurrentBitmap, amount, steps));

                ReloadPaletteItems();
                statusText.Text = "";
            }
        }
Esempio n. 4
0
        private async void OnSortButtonClick(object sender, RoutedEventArgs eventArgs)
        {
            if (mainWindow.Working)
            {
                return;
            }
            if (mainWindow.CurrentBitmap != null)
            {
                mainWindow.Working = true;
                statusText.Text    = "Sorting image";
                int    amount = (int)medianCutAmountNumeric.Value;
                Bitmap bitmap = await Task.Run(() => PaletteGeneration.SortColors(mainWindow.CurrentBitmap, amount));

                mainWindow.ChangeMainImage(bitmap);
                statusText.Text    = "";
                mainWindow.Working = false;
            }
        }