Я использую Microsoft Visual Studio 2010, включая эталонный динамический дисплей данных. Я хочу сделать полосу прокрутки, которая регулирует яркость карты. Я пытался найти такое свойство, как яркость или что-то подобное, но безуспешно. Спасибо за помощь друзья. :)
Яркость картплоттера (отображение динамических данных) C#
Ответы (1)
Вы можете управлять яркостью плоттера, устанавливая его Background
на разные значения RGB. Каждое значение имеет диапазон от 0 (самый темный) до 255 (самый яркий). Сначала установите самый яркий цвет, например
Byte R = 255;
Byte G = 255;
Byte B = 255;
И определите коэффициент (диапазон от 0.5
до 1,0), который контролируется ползунком (0,0 — это полная чернота, поэтому я установил нижний диапазон как 0.5
, что означает серый цвет).
double minFactor = 0.5;
double maxFactor = 1.0;
double factor = maxFactor; //initially, brightest
Затем Background
плоттера
Color color = Color.FromRgb((Byte)(factor*R), (Byte)(factor*G), (Byte)(factor*B));
plotter.Background = new SolidColorBrush(color);
И вот как ползунок управляет яркостью.
Slider slider = new Slider();
slider.Value = factor;
slider.Maximum = maxFactor;
slider.Minimum = minFactor;
slider.ValueChanged += (s, e) =>
{
var newFactor = e.NewValue;
Color newColor = Color.FromRgb((Byte)(newFactor * R), (Byte)(newFactor * G), (Byte)(newFactor * B));
plotter.Background = new SolidColorBrush(newColor);
};
Яркость карты
а. Установить темный фон для плоттера
plotter.Background = new SolidColorBrush(Colors.Black);
б. Скрыть сетку
plotter.AxisGrid.Visibility = System.Windows.Visibility.Collapsed;
в. Отрегулируйте непрозрачность карты с помощью ползунка
slider.ValueChanged += (s, e) =>
{
var newFactor = e.NewValue;
map.Opacity = newFactor;
//Color newColor = Color.FromRgb((Byte)(newFactor * R), (Byte)(newFactor * G), (Byte)(newFactor * B));
//plotter.Background = new SolidColorBrush(newColor);
}
person
kennyzx
schedule
19.10.2014
Я не работаю на карте, я не работаю только на простом графике. Я добавляю для вас Скриншот из моего приложения с facrot = 0.6 ... sizmedia.com /my.php?i=3mugmdn5r2ku.png
- person RonYamin; 19.10.2014
да... карта непрозрачна, поэтому на нее не влияет фон плоттера. Я думаю, вы можете добавить полупрозрачный серый слой поверх карты, мышь может щелкнуть через слой, чтобы взаимодействовать с картой, но это слишком много работы, и почему вы хотите затемнить карту? разве это не настройка монитора/проектора?
- person kennyzx; 19.10.2014
Мне нужно управлять яркостью с помощью ползунка, это моя работа в школе, я был бы благодарен, если бы вы могли мне помочь. Спасибо.
- person RonYamin; 20.10.2014
Попробуйте следующее: установите значение непрозрачности карты как значение
newFactor
в обработчике событий ползунка ValueChanged
.
- person kennyzx; 20.10.2014
Чувак, теперь это работа, но с 1 проблемой. Это рисует все плоттер. Я хочу покрасить в черный цвет только ту карту, что на плоттере. Посмотрите результат: sizmedia.com/my.php?i=5mqmwoju5zmz.png ..... sizmedia.com/my.php?i=lmym2mmmdjhz.png ... Результат, который я хочу, таков: sizmedia.com/my.php ?i=zyzgnwmmkjdk.png , разница в том, что я вижу галочку (отметки шкалы)
- person RonYamin; 26.10.2014
поместите черный холст (то, что имеет фоновый цвет, установите его как черный) под карту, он имеет тот же размер и размещен точно в том же месте, что и карта, используйте его в качестве фона. оставьте фон плоттера по умолчанию.
- person kennyzx; 26.10.2014
Как поместить холст точно в положение карты на графике? Не могли бы вы помочь мне, пожалуйста? :)
- person RonYamin; 26.10.2014
Я пытался поместить холст, теперь, если я помещаю холст на карту, я не могу щелкнуть по карте, это похоже на слой, который заблокировал карту. А если холст за плоттером я этого не вижу. Нет возможности установить между плоттером и картой? Что делать ? Помогите пожалуйста мне
- person RonYamin; 26.10.2014
я не знаю, если вы сначала добавляете что-то в плоттер, а потом добавляете карту в плоттер, то это должно быть между плоттером и картой. я не могу попробовать это сейчас. нет среды разработки
- person kennyzx; 26.10.2014
Хорошо, я подожду, пока ты не попробуешь. Мне не удается сделать это в одиночку. Спасибо, в любом случае. ‹3
- person RonYamin; 26.10.2014
Я пытался, но безуспешно, я думал, что могу добавить холст WPF или что-то в плоттер, но это не так, как я думал... извините, приятель, не смог помочь вам с этим
- person kennyzx; 28.10.2014