0

我在数组中有 5 个图像,它们在 UIimageview 中显示并一张一张显示。我想在单击的特定图像上获取图像数据,并使用触摸事件在 webview 中显示一些数据。我没有得到图像数据。我的代码在这里

imgarr->包括 5 个不同的图像

obj=[touches anyObject];
CGPoint point=[obj locationInView:self.view];
touchLocation=point;
if(CGRectContainsPoint([imgview frame],point))
{
//cloud.center=touchLocation;
    NSData *imgData = UIImageJPEGRepresentation(imgview.image, 9.0);
    UIImage *img = [UIImage imageWithData:imgData];
    NSLog(@"selimg=%@",img);
    for(int i=0;i<[imgarr count];i++)
    {
        UIImage *arr=[imgarr objectAtIndex:i];
        NSData *arrdata=UIImageJPEGRepresentation(arr,9.0); 
        if(arrdata==imgData)
            NSLog(@"True");
    }
}

帮我..

4

2 回答 2

1

如果您将对象与==您进行比较,那么您将比较指针而不是对象值。

NSData有一个isEqualToData:方法来检查一个对象是否等于它自己:

if ([arrdata isEqualToData:imgData]){
   NSLog(@"True");
}
于 2012-07-09T11:58:38.130 回答
1

试试这个

UIImage *img = [UIImage imageNamed:@"some.png"];

NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);
于 2012-07-09T12:01:29.127 回答