2010-07-10 22 views
9

Khung AddressBook cung cấp ABPersonCopyImageData để nhận hình ảnh liên hệ cho mỗi mục nhập sổ địa chỉ. Điều này là rất tốt cho dữ liệu hình ảnh, nhưng người dùng cũng có kích thước và cắt hình ảnh cho các mục đích khung. Khi tôi nhận được dữ liệu hình ảnh, tôi có được hình ảnh đầy đủ chứ không phải hình ảnh được cắt. Làm cách nào để có được khung người dùng đã sử dụng để cắt hình ảnh (hoặc thay cho điều đó, làm cách nào để tôi có quyền truy cập vào hình ảnh/dữ liệu đã cắt)?Tôi làm cách nào để có được khung cắt ảnh của dữ liệu hình ảnh sổ địa chỉ?

Trả lời

1

Ở một mức độ nào đó, đó là lỗi trong iOS4. Trước đây, API sổ địa chỉ trả về dữ liệu đã cắt và trong iOS4 nó trả về toàn bộ dữ liệu hình ảnh. Một số người muốn một, một số người muốn người khác. Tôi có xu hướng nghĩ rằng toàn bộ dữ liệu hình ảnh là vô ích nếu không có khung cắt xén, vì vậy hy vọng rằng sẽ được cố định ...

0

Tôi nghĩ rằng không thể để có được cây trồng rect. Thông tin về mùa vụ trực tràng được lưu trữ bên trong cơ sở dữ liệu sqlite được quản lý bởi khung sổ địa chỉ. Nhưng ứng dụng của khách hàng không thể đọc cơ sở dữ liệu sqlite của ứng dụng khác, theo cấu trúc sandbox.

+0

Khung không phải là ứng dụng. "Sandboxing" phần lớn chỉ dựa trên quy trình/dựa trên UID. Tuy nhiên, nó chỉ ra rằng /var/mobile/Library/AddressBook/AddressBookImages.sqlitedb là có thể đọc được vì vậy nó sẽ có thể để có được cây trồng trực tràng, ngay cả khi nó có thể được coi là "tư nhân". –

+0

Nếu cơ sở dữ liệu sqlite có thể được truy vấn, thì rất nhiều thứ có thể được giải quyết. Một số thứ như nhãn tùy chỉnh, vấn đề khắc phục ở đây và sự cố cửa hàng (ABStore) trước iOS SDK 4.0, ... v.v. Đối tác của tôi đã thử và anh ấy nói rằng nó không thể thực hiện các lệnh trên cơ sở dữ liệu sqlite được quản lý bởi khung sổ địa chỉ. Có lẽ bạn có thể thử lại. – AechoLiu

6

iOS 4.1 thêm phương thức mới: ABPersonCopyImageDataWithFormat trong ABPerson.

Tôi đang sử dụng nó như thế này:

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

Các định dạng cho phép là:

kABPersonImageFormatThumbnail 
kABPersonImageFormatOriginalSize 

này cho phép bạn để có được những hình ảnh gốc hoặc ảnh đã được cắt (thumbnail).

Các vấn đề liên quan