/// <summary> /// Blends two colors by multiplication. /// <remarks> /// The source color is multiplied by the destination color and replaces the destination. /// The resultant color is always at least as dark as either the source or destination color. /// Multiplying any color with black results in black. Multiplying any color with white preserves the /// original color. /// </remarks> /// </summary> /// <param name="backdrop">The backdrop color.</param> /// <param name="source">The source color.</param> /// <returns> /// The <see cref="RgbaVector"/>. /// </returns> public static RgbaVector Multiply(RgbaVector backdrop, RgbaVector source) { Vector4 multiply = Vector4BlendTransforms.Multiply(backdrop.backingVector, source.backingVector); return(new RgbaVector(multiply)); }
/// <summary> /// Blends two colors by multiplication. /// <remarks> /// The source color is multiplied by the destination color and replaces the destination. /// The resultant color is always at least as dark as either the source or destination color. /// Multiplying any color with black results in black. Multiplying any color with white preserves the /// original color. /// </remarks> /// </summary> /// <param name="backdrop">The backdrop color.</param> /// <param name="source">The source color.</param> /// <returns> /// The <see cref="Rgba32"/>. /// </returns> public static Rgba32 Multiply(Rgba32 backdrop, Rgba32 source) { Vector4 multiply = Vector4BlendTransforms.Multiply(backdrop.ToVector4(), source.ToVector4()); return(PackNew(ref multiply)); }