0

私は1つのアプリケーションを開発しています。その中で、以下のような2つの画像の比較操作を行っています

 UIImage *actual_image=usrcheck_image.image;
NSData *present_image = UIImagePNGRepresentation(actual_image);
NSData *compare_image = UIImagePNGRepresentation([UIImage imageNamed:@"unchk-1.png"]);

if([present_image isEqualToData:compare_image])
{
   set the checked image
}
else
{
   set the uncheck image.
 }

これを実行すると、チェック画像がチェック解除に変更されます。しかし、チェック解除画像はチェック画像に変更されません。elseブロックが実行されるたびに、これら2つの画像を比較する方法を教えてください。このコードはデバイスで完全に機能します。しかし問題シミュレータのみです。

4

4 に答える 4

0

まず、画像データを比較する必要はなく、画像も比較する必要はありません。

しかし、画像の平均を比較したい場合は、単に次のようにします

if(usrcheck_image.image==[UIImage imageNamed:@"unchk-1.png"]) {
    usrcheck_image.image=[UIImage imageNamed:@"chk-1.png"];
} else {
    usrcheck_image.image=[UIImage imageNamed:@"unchk-1.png"];
}
于 2013-06-27T10:40:30.823 に答える