如何获取地址簿图像数据的裁剪框?

时间:2010-07-10 17:32:43

标签: iphone addressbook

AddressBook框架提供ABPersonCopyImageData,用于获取每个地址簿条目的联系人图像。这对于图像数据非常有用,但是用户还可以对图像进行调整大小和裁剪以用于构图。当我得到图像数据时,我得到完整的图像,而不是裁剪的图像。如何获取用户用于裁剪图像的帧(或者代替该帧,如何访问裁剪的图像/数据)?

3 个答案:

答案 0 :(得分:6)

iOS 4.1在ABPersonCopyImageDataWithFormat中添加了一种新方法:ABPerson

我正在使用它:

NSData *imageData = [(NSData *)ABPersonCopyImageDataWithFormat(recordRef, kABPersonImageFormatThumbnail) autorelease];

允许的格式为:

kABPersonImageFormatThumbnail
kABPersonImageFormatOriginalSize

这使您可以获取原始图像或裁剪后的图像(缩略图)。

答案 1 :(得分:1)

在某种程度上,它是iOS4中的一个错误。以前,地址簿API返回裁剪数据,而在iOS4中它返回整个图像数据。有些人想要一个,有些人想要另一个。我倾向于认为没有裁剪框架的整个图像数据都是无用的,所以希望能得到修复......

答案 2 :(得分:0)

我认为不可能让作物直观。 crop rect信息存储在由addressbook框架管理的sqlite数据库中。 但是根据沙箱结构,客户端的应用程序无法读取另一个应用程序的sqlite数据库。