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(); }
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(); }