Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public enum CompareImage
- {
- ciOk, ciPixelErr, ciSizeErr
- };
- public static CompareImage Compare(Bitmap b1, Bitmap b2)
- {
- // Pretpostavljamo da je sve ok na pocetku...iako nece biti!
- CompareImage cp = CompareImage.ciOk;
- // Provjeravamo da li su slike iste velicine
- if (b1.Size != b2.Size)
- cp = CompareImage.ciSizeErr;
- else
- {
- // Konvertujemo svaku sliku u byte niz
- ImageConverter ic = new ImageConverter();
- byte[] btImg1 = new byte[1];
- byte[] btImg2 = new byte[1];
- btImg1 = (byte[])ic.ConvertTo(b1, btImg1.GetType());
- btImg2 = (byte[])ic.ConvertTo(b2, btImg2.GetType());
- // Uzimamo hash vrijednosti za svaku sliku
- SHA256Managed shaHash = new SHA256Managed();
- byte[] imgHash1 = shaHash.ComputeHash(btImg1);
- byte[] imgHash2 = shaHash.ComputeHash(btImg2);
- // Poredimo hash vrijednosti
- for (int i=0; i < imgHash1.Length && i < imgHash2.Length && cp == CompareImage.ciOk; i++)
- if (imgHash1[i] != imgHash2[i])
- cp = CompareImage.ciPixelErr;
- }
- return cp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement