自定义控件系列,基于OxyPlot开发。
效果图
六个接口函数,是否可编辑,设置最大、最小值,设置标准的 Colorbar,反转颜色,获取当前 Colorbar 的 RGB 数组;编辑模式下,双击左键弹出颜色选择框,自定义Colorbar;在节点处按Ctrl+右键可删除节点。
xmlns:colorbar="clr-namespace:Colorbar;assembly=Colorbar"
<colorbar:MyColorbar Grid.Row="1" x:Name="colorbar"/>
private string[] colorFlag = new string[13] { "Parula", "Jet", "Bone", "Gray", "Cool", "Copper", "Hot", "Hsv", "Pink", "Spring", "Summer", "Autumn", "Winter" };
private int flag = 0;
bool isEditbale = false;
isEditbale = !isEditbale;
colorbar.SetEditable(isEditbale);
Random rand = new Random();
colorbar.SetMaxValue(rand.Next(10000));
colorbar.SetColormapReverse();
colorbar.SetColormap(colorFlag[flag++ % 13]);
int[,] matRGB = colorbar.GetColormapRGB();
Random rand = new Random();
int row = rand.Next(255);
MessageBox.Show("R = " + matRGB[row, 0] + "\n" + "G = " + matRGB[row, 1] + "\n" + "B = " + matRGB[row, 2]);