我正在使用 Microsoft Visual Studio 2010,包括参考动态数据显示。我想做一个滚动条来控制地图的亮度。我试图找到像亮度或类似的属性,但没有成功。感谢帮助的朋友。:)
问问题
303 次
1 回答
0
您可以通过将绘图仪设置Background
为不同的 RGB 值来控制绘图仪的亮度。每个值的范围从 0(最暗)到 255(最亮)。首先设置一个最亮的颜色,例如
Byte R = 255;
Byte G = 255;
Byte B = 255;
并定义一个由滑块控制的因子(范围从0.5
1.0 到 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;
C。通过滑块调整地图的不透明度
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);
}
于 2014-10-19T02:46:19.663 回答