How to render a powershell WPF GUI to a video file

Welcome Forums General PowerShell Q&A How to render a powershell WPF GUI to a video file

This topic contains 2 replies, has 2 voices, and was last updated by

5 years, 7 months ago.

  • Author
  • #7835

    Points: 0
    Rank: Member

    I need help trying to output a WPF GUI window to a rendered video (mp4) via Powershell. i assume the last line is what will need to be modified to output to the video instead of the GUI. i assume the video parameters will need to be added somewhere but im not sure what is needed yet. i guestimate the video will be 15 or 30 seconds long. I am ok if this is done with ShowUI as well. Ive been searching for days and i cannot find anything related. Thank you for the help!



    Here is the code below:

    #JLo #Concept: turn rss and other realtime feeds info into animated videos Add-Type-AssemblyName presentationframework
    [xml]$XAML =@""
            xmlns:x=""Title="MainWindow"Height="720"Width="1280"Background="White">< Grid>< Label x:Name="TopLabel"HorizontalAlignment="Left"VerticalAlignment="Top"Height="360"Width="1280">< Image x:Name="logo"Height="350"Width="1270"Source=""/>Label>< Label x:Name="BottomLeft"Content="Label"HorizontalAlignment="Left"Margin="0,365,0,0"VerticalAlignment="Top"Height="325"Width="635"Background="#FF84C5C9"Foreground="White"FontSize="18"/>< Label x:Name="BottomRight"Content="Label"HorizontalAlignment="Left"Margin="645,365,0,0"VerticalAlignment="Top"Height="325"Width="635"Background="white"Foreground="black"FontSize="18"/>Grid>Window>"@
    $reader=(New-Object System.Xml.XmlNodeReader $xaml)
    $Window=[Windows.Markup.XamlReader]::Load( $reader )
    $url = "" 
    $array =Invoke-RestMethod $url #| Select Title | Format-Table -AutoSize[string]$a  ="NEWS`n-------`n"
    $BottomLeft = $Window.findname("BottomLeft")
    $a         +=  $($array |%{$_.title})-join "`n"
    $BottomLeft.Content= $a
    #WEATHER FEED#Based from: #{[cmdletbinding()]Param([parameter(ValueFromPipeLine='True')][string[]]$ZipCode ="60625")Begin{
            $Webclient =New-ObjectNet.WebClient
            $Webclient.UseDefaultCredentials= $True
        }Process{ForEach($Zip in $ZipCode){Try{    
                    $weather =([xml]$webclient.DownloadString("$Zip")).rss.Channel
                    $weatherhash =@{Sunrise= $weather.astronomy.SunriseSunset= $weather.astronomy.SunsetTemperature="{0}{1}F"-f $weather.Item.Condition.Temp,[char]176Conditions= $weather.Item.Condition.TextCity= $weather.Location.CityState= $weather.Location.RegionCountry= $weather.Location.CountryWindChill= $weather.Wind.ChillWindSpeed= $weather.Wind.SpeedLastUpdated=[datetime]"$(($weather.LastBuildDate | Select-String -pattern "\w+,\s\d{1,2}\s\w+\s\d{4}\s\d{1,2}:\d{1,2}\s\w{2}").matches[0].value)"HiTemp="{0}{1}F"-f $Weather.item.forecast[0].High,[char]176LowTemp="{0}{1}F"-f $Weather.item.forecast[0].Low,[char]176}
                    $weatherobject =New-ObjectPSObject-Property $weatherhash
                    $weatherobject.PSTypeNames.Insert(0,"Weather.Info")Write-Output $weatherobject
    $weather =get-yahooweather 60601[string]$B              ="WEATHER`n-----------`n"
    $b             += $weather|selectCity,Temperature,HiTemp,LowTemp,WindChill,Sunset,Conditions|Out-string#-join "`n"
    $Bottomright            = $Window.findname("BottomRight")
    $Bottomright.Content= $b
    This is also posted at:
  • #7839

    Points: 1,785
    Helping HandTeam Member
    Rank: Community Hero

    You might want to attach that instead of trying to paste it... but in general you're probably going to get more love on StackOverflow in terms of an answer. WPF is accessible from PowerShell, but it's not really PowerShell itself. You'll probably find less knowledge about WPF here, unfortunately.

  • #7840

    Points: 0
    Rank: Member

    I cant find any buttons to edit the original post.If you want, feel free to delete the entire code section. it will still be in the stack overflow post.

    Ive searched the net for awhile to find an answer and i haven't found it yet. I've also reached out to Doug Finke who recommended I post in both these forums. The hard part of all this is exactly what you said – its a combo of both powershell and WPF.

    Thanks again,

The topic ‘How to render a powershell WPF GUI to a video file’ is closed to new replies.