public Rgb(Vector3 vector, RgbWorkingSpaceBase workingSpace) { vector = Vector3.Clamp(vector, Min, Max); this.R = vector.X; this.G = vector.Y; this.B = vector.Z; this.WorkingSpace = workingSpace; }
public LinearRgb(Vector3 vector, RgbWorkingSpaceBase workingSpace) { // Clamp to 0-1 range. vector = Vector3.Clamp(vector, Min, Max); this.R = vector.X; this.G = vector.Y; this.B = vector.Z; this.WorkingSpace = workingSpace; }
/// <summary> /// Initializes a new instance of the <see cref="ColorSpaceConverter"/> class. /// </summary> /// <param name="options">The configuration options.</param> public ColorSpaceConverter(ColorSpaceConverterOptions options) { Guard.NotNull(options, nameof(options)); this.whitePoint = options.WhitePoint; this.targetLuvWhitePoint = options.TargetLuvWhitePoint; this.targetLabWhitePoint = options.TargetLabWhitePoint; this.targetHunterLabWhitePoint = options.TargetHunterLabWhitePoint; this.targetRgbWorkingSpace = options.TargetRgbWorkingSpace; this.chromaticAdaptation = options.ChromaticAdaptation; this.performChromaticAdaptation = this.chromaticAdaptation != null; this.lmsAdaptationMatrix = options.LmsAdaptationMatrix; this.cieXyzAndLmsConverter = new CieXyzAndLmsConverter(this.lmsAdaptationMatrix); this.cieXyzToCieLabConverter = new CieXyzToCieLabConverter(this.targetLabWhitePoint); this.cieXyzToCieLuvConverter = new CieXyzToCieLuvConverter(this.targetLuvWhitePoint); this.cieXyzToHunterLabConverter = new CieXyzToHunterLabConverter(this.targetHunterLabWhitePoint); this.cieXyzToLinearRgbConverter = new CieXyzToLinearRgbConverter(this.targetRgbWorkingSpace); }
public LinearRgb(float r, float g, float b, RgbWorkingSpaceBase workingSpace) : this(new Vector3(r, g, b), workingSpace) { }