Public/Convert-Color.ps1
|
Function Convert-Color { [CmdletBinding()] param( [Parameter(Mandatory=$True)] [ConsoleFX.ValidateColor()] [Object]$ColorCode, [Parameter(Mandatory=$True)] [ValidateSet('RGB', 'Hex', 'HSV', 'HSL', 'CMYK')] [String]$To ) $ConsoleFXColorModels = @( ([ConsoleFx.ColorModel.RGB]).Name, ([ConsoleFx.ColorModel.Hex]).Name, ([ConsoleFx.ColorModel.HSV]).Name, ([ConsoleFx.ColorModel.HSL]).Name, ([ConsoleFx.ColorModel.CMYK]).Name ) If($To -eq $ColorCode.GetType().Name) { Return $ColorCode } ElseIf($To -eq 'RGB') { Return $ColorCode.ToRGB() } Else { Switch($To) { Hex { Return $ColorCode.ToRGB().ToHex() } HSV { Return $ColorCode.ToRGB().ToHSV() } HSL { Return $ColorCode.ToRGB().ToHSL() } CMYK { Return $ColorCode.ToRGB().ToCMYK() } } } } |