2015-12-02 98 views
1

我試圖實現一種方式來比較兩個圖像,但我測試我的和比較相同的圖像,以確保工作,但不工作。這裏是可能的代碼:OSX:比較兩個圖像

NSImage *file = [[NSImage alloc] initWithContentsOfFile:path]; 
NSData *imgDataOne = [file TIFFRepresentation]; 
NSData *imgDataTwo = [file TIFFRepresentation]; 

if (imgDataOne == imgDataTwo) 
{ 
    NSLog(@"is the same image"); 
} 

如果從未如此。你們中的任何一個人都知道我做錯了什麼,或者是否有另一種方式來比較圖像?

我真的很感謝你的幫助。

+0

'if([imgDataOne isEqual:imgDataTwo])'?你在比較指針。 – Larme

+0

你可以散列每個圖像? – bhzag

+0

@Larme使用isEqual或isEqualToData工作。謝謝! – user2924482

回答

1

TIFFRepresentation將返回一個新的NSData對象。使用==運算符比較這些對象將始終返回false,因爲它們是兩個不同的對象。

NSData有isEqualToData方法來測試這兩個NSData對象是否包含相同的二進制數據。