如何从iPhone地址簿中获取某人的图像?
答案 0 :(得分:42)
你可以这样做......
NSData *imgData = (NSData *)ABPersonCopyImageData(person);
UIImage *img = [UIImage imageWithData:imgData];
其中person
的类型为ABRecordRef
。现在,由于CFData和NSData是免费桥接,您只需键入cast CFData
到NSData
并获取图像
希望这有帮助。
答案 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)
{
//...
}