海图仪亮度(动态数据显示)C#

Posted

技术标签:

【中文标题】海图仪亮度(动态数据显示)C#【英文标题】:Brightness of chartplotter (Dynamic Data Display) C# 【发布时间】:2014-12-14 01:38:32 【问题描述】:

我使用的是 Microsoft Visual Studio 2010,包括参考动态数据显示。 我想做一个滚动条来控制地图的亮度。 我试图找到像亮度或类似的属性,但没有成功。感谢帮助的朋友。 :)

【问题讨论】:

【参考方案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);

b.隐藏网格

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

【讨论】:

我不在地图上工作,我不只在简单的图表上工作。我正在为您添加我的应用程序的屏幕截图,其中 facrot = 0.6 ... sizmedia.com/my.php?i=3mugmdn5r2ku.png 是的...地图是不透明的,因此不受绘图仪背景的影响。我觉得你可以在地图上面加一个半透明的灰色图层,鼠标点击图层可以和地图进行交互,但是这样的工作量太大了,你为什么要把地图调暗呢?不是显示器/投影仪设置吗? 我需要通过滑块控制亮度,这是我在学校的工作,如果你能帮助我,我会很感激的。谢谢。 试试这个:在滑块的ValueChanged 事件处理程序中将地图的不透明度值设置为newFactor 的值。 老兄,现在可以工作了,但有 1 个问题。它绘制了所有绘图仪。我只想把绘图仪上的地图涂成黑色。查看结果:sizmedia.com/my.php?i=5mqmwoju5zmz.png ..... sizmedia.com/my.php?i=lmym2mmmdjhz.png ... 我想要的结果是:sizmedia.com/my.php?i=zyzgnwmmkjdk.png,不同之处在于我可以看到刻度线(刻度线)

以上是关于海图仪亮度(动态数据显示)C#的主要内容,如果未能解决你的问题,请参考以下文章

使用 MVVM 和 CompositeDataSource 显示海图仪

动态数据显示 - WPF - 需要将文本添加到画布 - C#

ComboBox 如何动态赋值 C#

C#窗体上怎么显示动态图片如gif

C#怎么实现下拉框动态绑定数据

C#中自定义一组随机数据,怎么把数据在文本框中显示?而且数据是按顺序动态的显示到界面上,求大神们指点