从iPhone地址簿获取一个人的图像

时间:2010-01-18 12:27:54

标签: iphone addressbook

如何从iPhone地址簿中获取某人的图像?

3 个答案:

答案 0 :(得分:42)

你可以这样做......

NSData  *imgData = (NSData *)ABPersonCopyImageData(person);

UIImage  *img = [UIImage imageWithData:imgData];

其中person的类型为ABRecordRef。现在,由于CFData和NSData是免费桥接,您只需键入cast CFDataNSData并获取图像

希望这有帮助。

答案 1 :(得分:12)

(NSData*)ABPersonCopyImageDataWithFormat([targetPeople objectAtIndex:index], kABPersonImageFormatThumbnail)

这会更快,因为它会返回缩略图。

答案 2 :(得分:0)

稍微刷新的代码:

UIImage *image = nil;

@try
{
    CFDataRef cfImage = ABPersonCopyImageData(person);
    // or CFDataRef cfImage = ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatThumbnail);
    if (cfImage)
    {
        image = [UIImage imageWithData:(__bridge NSData*)cfImage];
        CFRelease(cfImage);
    }
}
@catch (NSException *exception)
{
    //...
}