Public/New-BTImage.ps1
function New-BTImage { <# .SYNOPSIS Creates a new Image Element for Toast Notifications. .DESCRIPTION The New-BTImageElement cmdlet creates a new Image Element for Toast Notifications. You can use the parameters of New-BTImageElement to specify the source image, alt text, placement on the Toast Notification and crop shape. .INPUTS None .OUTPUTS Image .EXAMPLE .EXAMPLE .EXAMPLE .LINK https://github.com/Windos/BurntToast #> [CmdletBinding(DefaultParameterSetName = 'Image')] [OutputType([Microsoft.Toolkit.Uwp.Notifications.AdaptiveImage], ParameterSetName = 'Image')] [OutputType([Microsoft.Toolkit.Uwp.Notifications.ToastGenericAppLogo], ParameterSetName = 'AppLogo')] [OutputType([Microsoft.Toolkit.Uwp.Notifications.ToastGenericHeroImage], ParameterSetName = 'Hero')] param ( [Parameter()] [string] $Source = $Script:DefaultImage, [Parameter()] [string] $AlternateText, [Parameter(Mandatory, ParameterSetName = 'AppLogo')] [switch] $AppLogoOverride, [Parameter(Mandatory, ParameterSetName = 'Hero')] [switch] $HeroImage, [Parameter(ParameterSetName = 'Image')] [Microsoft.Toolkit.Uwp.Notifications.AdaptiveImageAlign] $Align, [Parameter(ParameterSetName = 'Image')] [Parameter(ParameterSetName = 'AppLogo')] [Microsoft.Toolkit.Uwp.Notifications.AdaptiveImageCrop] $Crop, [Parameter(ParameterSetName = 'Image')] [switch] $RemoveMargin, [Parameter()] [switch] $AddImageQuery ) switch ($PsCmdlet.ParameterSetName) { 'Image' { $Image = [Microsoft.Toolkit.Uwp.Notifications.AdaptiveImage]::new() if ($Align) { $Image.HintAlign = $Align } if ($Crop) { $Image.HintCrop = $Crop } $Image.HintRemoveMargin = $RemoveMargin } 'AppLogo' { $Image = [Microsoft.Toolkit.Uwp.Notifications.ToastGenericAppLogo]::new() if ($Crop) { $Image.HintCrop = $Crop } } 'Hero' { $Image = [Microsoft.Toolkit.Uwp.Notifications.ToastGenericHeroImage]::new() } } if ($Source) { $Image.Source = $Source } if ($AlternateText) { $Image.AlternateText = $AlternateText } if ($AddImageQuery) { $Image.AddImageQuery = $AddImageQuery } $Image } |