public static unsafe ImageSource RenderLinearGamutLuv(int width, int height, RGBPrimaries <Color1931xyY> primaries, Color1931XYZ white, float leftU, float rightU, float topV, float bottomV) { ColorTransformMatrix RGBtoXYZ = ColorTransformMatrix.GetRGBtoXYZ((Color1931XYZ)primaries.Red, (Color1931XYZ)primaries.Green, (Color1931XYZ)primaries.Blue, white); ColorTransformMatrix XYZtoRGB = RGBtoXYZ.Invert(); return(RenderLinearGamutLuv(width, height, XYZtoRGB, leftU, rightU, topV, bottomV)); }
public static ColorTransformMatrix GetRGBtoXYZ(RGBPrimaries <Color1931XYZ> primaries, Color1931XYZ white) { return(GetRGBtoXYZ(primaries.Red, primaries.Green, primaries.Blue, white)); }
public static ColorTransformMatrix GetXYZtoRGB(RGBPrimaries <Color1931XYZ> primaries, Color1931XYZ white) { return(GetRGBtoXYZ(primaries, white).Invert()); }