[Erledigt] Bei S/W Bildern Farben umkehren
Hallo,
ist es möglich die Farben bei S/W Bildern auf eine einfache Art und Weise umzukehren?
Lade die Bilder aus dem Internet und würde gerne die Farben bei Bildern abhängig vom ausgewählten Theme einstellen, weil es .jpg Bilder sind mit weißem Hintergrund und sieht dann unschön aus bei schwarzem Theme.
AW: Bei S/W Bildern Farben umkehren
Das ist ganz einfach:
Du nimmst dir irgendeine Control, setzt den Hintergrund auf die StaticResource PhoneForegroundBrush und dann die OpacityMask auf dein Bild.
Hier ein Beispiel anhand eines Canvas:
Code:
<Canvas Grid.Row="1" Height="100" HorizontalAlignment="Left" Margin="126,189,0,0" Name="canvas1" VerticalAlignment="Top" Width="200" Background="{StaticResource PhoneForegroundBrush}">
<Canvas.OpacityMask>
<ImageBrush ImageSource="/WindowsPhoneApplication3;component/Images/appbar.delete.rest.png" />
</Canvas.OpacityMask>
</Canvas>
(Beachte das die Eigenschaften des Bildes richtig gesetzt sind, oder du must die ImageSource ein wenig verändern bis es funktioniert.
In meinem Fall sind die Eigenschaften des Bildes auf "Resource" und "Do not Copy"
Andere Möglichkeit mit den Eigenschaften "Content" und "Copy if newer":
ImageSource="/Images/appbar.delete.rest.png"
Edit:
Das funktioniert aber nur, wenn dein Bild einen transparenten Hintergrund hat, was für Icons normalerweiße der Fall ist.
AW: Bei S/W Bildern Farben umkehren
Danke für die Antwort, ist aber nicht das was ich wollte. Ich will eigentlich jeden einzelnen Pixel im Bild invertieren, aber das ist zu viel Aufwand für mein kleines Programm, da es zu viele nicht so notwendige Operationen werden. Deswegen werde ich die Bilder nicht dynamisch aus dem Internet laden, da es sowieso nicht so viele sind, sondern schmeiße jetzt je zwei versionen pro Bild(für Black und White Theme) in mein Projekt :D
So wird das Programm Ressourcen schonender =)