コード例 #1
0
        private async void UpdateImage()
        {
            var diff = _optimizer.ColorsCount - numericUpDown1.Value.ToInt();

            if (diff > 0)
            {
                _optimizer.Progress.ProgressChanged += Progress_ProgressChanged;
                GUIDisable();
                await _optimizer.DeleteColorsAsync(diff);

                _optimizer.Progress.ProgressChanged -= Progress_ProgressChanged;
                GUIReady();
                _area.Redraw();
            }
            else if (diff < 0)
            {
                _optimizer.Progress.ProgressChanged += Progress_ProgressChanged;
                GUIDisable();
                await _optimizer.RestoreColorsAsync(-diff);

                _optimizer.Progress.ProgressChanged -= Progress_ProgressChanged;
                GUIReady();
                _area.Redraw();
            }
        }