Image TransformedBitmap

  • WPF

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von faxe1008.

    Image TransformedBitmap

    Hi,

    Ich möchte in einer WPF Anwendung das angezeigte Bild in einem Image-Control rotieren lassen, ähnlich wie beim Windows-Photoviewer.
    So sieht der XAML-Code des Images aus:

    Quellcode

    1. <Image Name="ImgDisp" Grid.ColumnSpan="4" Margin="10,2,10,10" Grid.Row="3" Grid.RowSpan="2" >
    2. <Image.Source>
    3. <TransformedBitmap Source="{Binding Path=CurrentImage}" >
    4. <TransformedBitmap.Transform>
    5. <RotateTransform Angle="90"/>
    6. </TransformedBitmap.Transform>
    7. </TransformedBitmap>
    8. </Image.Source>
    9. </Image>


    Die CurrentImage-Property:

    VB.NET-Quellcode

    1. Dim _currentImage As String = ""
    2. Public Property CurrentImage As String
    3. Get
    4. If File.Exists(_currentImage) Then
    5. Return _currentImage
    6. End If
    7. End Get
    8. Set(value As String)
    9. _currentImage = value
    10. CurrentImageName = New FileInfo(value).Name
    11. NotifyPropertyChanged("CurrentImage")
    12. End Set
    13. End Property


    Nun habe ich allerdings zwei Probleme:
    1. Mit der Änderung mit dem rotieren lassen der Bilder dreht der Antiviren-Scanner vollkommen verrückt. Diesen habe ich für weitere Tests kurz ausgeschaltet.
    2. Ich bekomme eine Fehlermeldung an einer Stelle die in überhaupt keinem Zusammenhang mit dem Rotieren steht:

    VB.NET-Quellcode

    1. Private ProfileFilePath As String = Path.Combine(Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName), "Profiles.xml")


    Ohne das Rotieren läuft diese Zeile glatt durch den Compiler.


    Weiß jemand die Lösung für das Problem?

    8-) faxe1008 8-)
    Da sich keiner gemeldet hat und ich weiterhin an dem Problem sitzte hier noch mal einfacher formuliert:

    Wie kann ich das Bild in einem Image-Control in WPF per Button-Klick um 90° nach rechts rotieren lassen?

    Quellcode

    1. <Image Name="ImgDisp" Grid.ColumnSpan="4" Margin="10,2,10,10" Grid.Row="3" Grid.RowSpan="2" Source="{Binding Path=CurrentImage}" >
    2. </Image>


    8-) faxe1008 8-)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „faxe1008“ ()

    Das Problem hat sich gelöst nach sehr viel Rumprobiererei ... Hier die Lösung:

    Quellcode

    1. <Image Name="ImgDisp" Grid.RowSpan="2" Grid.Row="3" Grid.Column="2" Source="{Binding Path=CurrentImage}" >
    2. <Image.LayoutTransform>
    3. <RotateTransform Angle="{Binding Degree}"/>
    4. </Image.LayoutTransform>
    5. </Image>

    8-) faxe1008 8-)