none
Setting ImageBrush ImageSource error in Powershell RRS feed

  • Frage

  • I have a xaml rectangle:

    <Rectangle x:Name=" Width="150" Height="150" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="2,2,0,0">
    <Rectangle.Fill><ImageBrush ImageSource="$($PSScriptRoot)\logo.jpg" /></Rectangle.Fill>
    </Rectangle>

    and want to change ImageScource based on URL:

    $empURL = "https://in.portal.int/Images/Intranet/" + $empUser.toLower() + ".JPG"
    $uri = new-object system.uri($empURL)
    $imagesource = new-object System.Windows.Media.Imaging.BitmapImage $uri
    $imagebrush = new-object System.Windows.Media.ImageBrush  $imagesource
    $WPFimage.fill = $imagebrush

    It works only one time, after starting PowerGUI script editor, all subsequent changes (even after restart debugging) ending in an error message:

    new-object : Exception calling ".ctor" with "1" argument(s): "The system cannot find the file specified. (Exception from HRESULT: 0x80070002)" At C:\Users*****\Desktop\Tool\tl.ps1:113 char:20 +     $imagesource = new-object System.Windows.Media.Imaging.BitmapImage $uri +                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException    + FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

    Can you please help me to understand why it's working once, and how to get it to work? Tried also with

    <Image x:Name="image" Source="$($PSScriptRoot)\logo.jpg">

    and

    $WPFimage.source = "https://in.portal.int/Images/Intranet/" + $empUser.toLower() + ".JPG"

    with similar results: the first replacement working OK, than there is a exception.

    Dienstag, 4. Oktober 2016 11:03

Antworten

  • -This is the german powershell forum. In case you do not speak german, please post your question again in the english forum. -

    Wenn es wirklich jeweils einmal funktiniert, ist die Fehlermeldung möglicherweise einfach irreführend. Tritt das Problem auch noch auf, wenn du -nachdem der Fehler einmal aufgetreten ist- im PowerGui-Menu auf "Fehlersuche -> Runspace Zurücksetzen" klickst und dann das Script nochmal startest?
    Alternativ kannst du genauso mit ALT+F5 das Script in einem externen Fenster starten.  Das hat den gleichen Effekt. Wie ist es dann beim wiederholten Aufruf?

    grüße, Denniver




    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.



    Mittwoch, 5. Oktober 2016 14:57
    Moderator