【发布时间】:2010-07-10 17:32:42
【问题描述】:
AddressBook 框架提供 ABPersonCopyImageData 用于获取每个地址簿条目的联系人图像。这对于图像数据来说非常有用,但用户还可以调整和裁剪图像以用于取景。当我得到图像数据时,我得到的是完整的图像,而不是裁剪后的图像。如何获取用户用于裁剪图像的帧(或者,我如何访问裁剪的图像/数据)?
【问题讨论】:
标签: iphone addressbook
AddressBook 框架提供 ABPersonCopyImageData 用于获取每个地址簿条目的联系人图像。这对于图像数据来说非常有用,但用户还可以调整和裁剪图像以用于取景。当我得到图像数据时,我得到的是完整的图像,而不是裁剪后的图像。如何获取用户用于裁剪图像的帧(或者,我如何访问裁剪的图像/数据)?
【问题讨论】:
标签: iphone addressbook
iOS 4.1 增加了一个新方法:ABPersonCopyImageDataWithFormat in ABPerson。
我是这样使用的:
NSData *imageData = [(NSData *)ABPersonCopyImageDataWithFormat(recordRef, kABPersonImageFormatThumbnail) autorelease];
允许的格式有:
kABPersonImageFormatThumbnail
kABPersonImageFormatOriginalSize
这允许您获取原始图像或裁剪后的图像(缩略图)。
【讨论】:
在某种程度上,这是 iOS4 中的一个错误。以前,地址簿 API 返回裁剪后的数据,而在 iOS4 中,它返回整个图像数据。有些人想要一个,有些人想要另一个。我倾向于认为没有裁剪框,整个图像数据都是无用的,所以希望这会得到修复......
【讨论】:
我认为不可能得到正确的作物。 裁剪矩形信息存储在由地址簿框架管理的 sqlite 数据库中。 但是客户端的应用程序无法读取其他应用程序的sqlite数据库,根据沙盒结构。
【讨论】: