Exemple #1
0
        public GuiFacade(ISuitableForm form)
        {
            LoadSettings();
            TryRunAsAdmin(_settings.ForceAdminMode);

            _form = form;
            _filterProxy = new Behaviors.Filters.ImageFilterProxy();
            _scaler = new Behaviors.Scaling.Scaler(_settings.MinScale, _settings.MaxScale, _settings.InitialScale);
            _drag = new Behaviors.DragController();
            _chart = new Forms.ChartHelper(new Behaviors.Draw.HistContainer());

            _win = _form.Canvas;
            OnImageDrawn += (s, img) => _form.Canvas.Image = img;

            InitializeWindow();
        }
Exemple #2
0
        private void ChangeScaleFactor(float value, Point mousePos)
        {
            if (value > Math.Log(_scaler.MaxZoom, 2) || value < Math.Log(_scaler.MinZoom, 2)) return;

            float scaleFactor = (float)Math.Pow(2, value);
            _form.ScaleLabel.Text = string.Format("Масштаб: {0}%", (scaleFactor * 100).ToString());

            if (_file != null)
            {
                CenterScaledImage(scaleFactor, mousePos);
            }

            _scaler = new Behaviors.Scaling.Scaler(_settings.MinScale, _settings.MaxScale, scaleFactor);
            InitDrawImage();
        }