Add field 2d viewer
This commit is contained in:
@@ -2,12 +2,49 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Media;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
|
||||
namespace FieldVisualizer.Entities.ColorMaps
|
||||
{
|
||||
public class ColorMap : IColorMap
|
||||
{
|
||||
private LinearGradientBrush _gradientBrush;
|
||||
|
||||
public string Name { get; set; }
|
||||
public List<Color> Colors { get; set; }
|
||||
|
||||
public LinearGradientBrush GradientBrush
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_gradientBrush == null)
|
||||
{
|
||||
_gradientBrush = CreateGradientBrush();
|
||||
_gradientBrush.Freeze(); // very important for performance
|
||||
}
|
||||
|
||||
return _gradientBrush;
|
||||
}
|
||||
}
|
||||
|
||||
protected virtual LinearGradientBrush CreateGradientBrush()
|
||||
{
|
||||
var brush = new LinearGradientBrush
|
||||
{
|
||||
StartPoint = new Point(0, 0),
|
||||
EndPoint = new Point(1, 0) // horizontal
|
||||
};
|
||||
|
||||
int count = Colors.Count;
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
brush.GradientStops.Add(
|
||||
new GradientStop(
|
||||
Colors[i],
|
||||
(double)i / (count - 1)));
|
||||
}
|
||||
|
||||
return brush;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories
|
||||
{
|
||||
ColorMap colorMap = new()
|
||||
{
|
||||
Name = "LiraSpectrumColorMap"
|
||||
Name = "Lira Style Spectrum"
|
||||
};
|
||||
List<Color> colors = new();
|
||||
byte Alpha = 0xff;
|
||||
@@ -55,7 +55,7 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories
|
||||
{
|
||||
ColorMap colorMap = new()
|
||||
{
|
||||
Name = "FullSpectrumColorMap"
|
||||
Name = "Full Spectrum"
|
||||
};
|
||||
List<Color> colors = new List<Color>();
|
||||
byte Alpha = 0xff;
|
||||
@@ -78,7 +78,7 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories
|
||||
private static IColorMap GetRedToWhite()
|
||||
{
|
||||
ColorMap colorMap = new ColorMap();
|
||||
colorMap.Name = "FullSpectrumColorMap";
|
||||
colorMap.Name = "Red To White Spectrum";
|
||||
List<Color> colors = new List<Color>();
|
||||
byte Alpha = 0xff;
|
||||
colors.AddRange(new Color[]{
|
||||
@@ -91,7 +91,7 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories
|
||||
private static IColorMap GetRedToBlue()
|
||||
{
|
||||
ColorMap colorMap = new ColorMap();
|
||||
colorMap.Name = "FullSpectrumColorMap";
|
||||
colorMap.Name = "Red To Blue Spectrum";
|
||||
List<Color> colors = new List<Color>();
|
||||
byte Alpha = 0xff;
|
||||
colors.AddRange(new Color[]{
|
||||
@@ -104,7 +104,7 @@ namespace FieldVisualizer.Entities.ColorMaps.Factories
|
||||
private static IColorMap GetBlueToWhite()
|
||||
{
|
||||
ColorMap colorMap = new ColorMap();
|
||||
colorMap.Name = "FullSpectrumColorMap";
|
||||
colorMap.Name = "Blue To White Spectrum";
|
||||
List<Color> colors = new List<Color>();
|
||||
byte Alpha = 0xff;
|
||||
colors.AddRange(new Color[]{
|
||||
|
||||
@@ -9,5 +9,6 @@ namespace FieldVisualizer.Entities.ColorMaps
|
||||
{
|
||||
string Name { get;}
|
||||
List<Color> Colors { get; }
|
||||
LinearGradientBrush GradientBrush { get; }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user