Ich habe ein Problem beim Vergleich von BitmapImages
In XAML sind zwei Images i03 und i04 definiert.
<Button Height="75" HorizontalAlignment="Left"
Margin="491,77,0,0" Name="bn04" VerticalAlignment="Top"
Width="75" Click="bn04_Click">
<Image Name ="i04" Source="Cat.jpg " Stretch="Uniform " />
</Button>
<Button Height="75" HorizontalAlignment="Right"
Margin="0,77,535,0" Name="bn03" VerticalAlignment="Top"
Width="75">
<Image Name ="i03" Source="empty.jpg " Stretch="Uniform " />
</Button>
Im C# Code können die Images mit zwei Methoden verändert werden.
public BitmapImage empty()
{
bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri("/sampleImages/empty.jpg",
public BitmapImage empty()
return bi;
}
public BitmapImage cat()
{
bi = new BitmapImage();
bi.BeginInit();
bi.UriSource = new Uri("/sampleImages/cat.jpg",
public BitmapImage empty()
return bi;
}
Die Veränderung erfolgt z.B. durch
i03.Source = cat().
Das klappt gut.
Nun sollen im Verlauf des Programms Operationen ausgefühert werden etwa unter der Bedingung, dass i04.Source gleich cat.jpg ist
Ich habe dass mit
if (i04.Source.Equals(cat()))
{
-----------
}
versucht. Es wird zwar kein Fehler gemeldet, aber die Anweisungen --------
werden nicht ausgeführt, obwohl die Bedingung zutrifft.
Kann mir jemand sagen, was ich falsch gemacht habe?
Vielen Dank!
pepe-je
Servus,
die equal() Methode verglicht NICHT ob es sich um das gleiche Bitmap handelt sondern ob die beide Objekte(!) identisch sind. Siehe: Object.Equals-Methode (Object)
Um wirklich zu überprüfen ob es sind um die selben Bilder handelt musst du das selbt implemtieren. Das .net Framwork stellt hierzu glaube ich nichts bereit.
Google ist hier dein Freund. 😉
using System;class H{static string z(char[]c){string r="";for(int x=0;x<(677%666);x++)r+=c[
x];return r;}static void Main(){int[]c={798,218,229,592,232,274,813,585,229,842,275};char[]
b=new char[11];for(int p=0;p<((59%12));p++)b[p]=(char)(c[p]%121);Console.WriteLine(z(b));}}