Beispiel #1
0
        public ITactileDataContentStruct Read(BinaryReader input)
        {
            float hue            = input.ReadSingle();
            float saturation     = input.ReadSingle();
            float lightness      = input.ReadSingle();
            bool  blueYellowRamp = input.ReadBoolean();

            ColorVector result = new ColorVector(hue, saturation, lightness, blueYellowRamp);

            return(result);
        }
Beispiel #2
0
        public void RefreshAdjustments()
        {
            var basePalette = GetDefaultColorPalette();
            var entries     = Palette.RampEntries(Ramp);
            var values      = entries
                              .Select(x => x.Color)
                              .Select(x => basePalette.GetValue(x))
                              .ToArray();

            for (int i = 0; i < Ramp.Count; i++)
            {
                // Get the adjustment that turns the palette color back into
                // the ramp color
                Color        source = basePalette.GetColor(values[i]);
                PaletteEntry entry  = entries[i];
                Color        target = entry.Color;

                var adjustment = ColorVector.ColorDifference(source, target, Ramp.BlueYellowAdjustments);
                Ramp.SetAdjustment(i, adjustment);
            }
        }
Beispiel #3
0
 internal void SetAdjustment(int index, ColorVector adjustment)
 {
     _Adjustments[index] = adjustment;
 }