La estructura AddressBook proporciona ABPersonCopyImageData para obtener la imagen de contacto para cada entrada de la libreta de direcciones. Esto es excelente para los datos de imagen, pero el usuario también dimensiona y recorta la imagen para enmarcarla. Cuando obtengo los datos de la imagen, obtengo la imagen completa, y no la imagen recortada. ¿Cómo obtengo el marco que el usuario utilizó para recortar la imagen (o en lugar de eso, cómo puedo acceder a la imagen/datos recortados)?¿Cómo obtengo el marco de recorte de los datos de la imagen de la libreta de direcciones?
Respuesta
Hasta cierto punto, es un error en iOS4. Anteriormente, la API de la libreta de direcciones devolvía los datos recortados, y en iOS4 devuelve los datos de la imagen completa. Algunas personas quieren una, algunas personas quieren la otra. Tiendo a pensar que toda la información de la imagen es inútil sin el marco de recorte, así que con suerte eso se arreglará ...
Creo que es imposible obtener la cosecha correcta. La información de cultivo se almacena dentro de la base de datos sqlite que administra el marco de la libreta de direcciones. Pero la aplicación del cliente no puede leer la base de datos sqlite de otra aplicación, de acuerdo con la estructura de la zona de pruebas.
iOS 4.1 agrega un nuevo método: ABPersonCopyImageDataWithFormat
en ABPerson
.
lo estoy usando como esto:
NSData *imageData = [(NSData *)ABPersonCopyImageDataWithFormat(recordRef, kABPersonImageFormatThumbnail) autorelease];
Los formatos permitidos son:
kABPersonImageFormatThumbnail
kABPersonImageFormatOriginalSize
Esto le permite obtener la imagen original o la imagen recortada (miniatura).
- 1. ¿Alguien sabe de un contenedor para el marco de la libreta de direcciones para iphone?
- 2. Obtener la imagen de una persona de la libreta de direcciones de iPhone
- 3. ¿Obtener grupo de contactos de la libreta de direcciones?
- 4. Contactos de la libreta de direcciones en Core Data
- 5. Importación de datos de la libreta de direcciones en el simulador de iPhone
- 6. Diseño de la base de datos de la libreta de direcciones: desnormalizar?
- 7. iPhone: la libreta de direcciones se borra a veces
- 8. cómo cambiar el marco de recorte UIImagePickerController
- 9. cómo importar la lista de contactos de la libreta de direcciones de iphone a mi aplicación?
- 10. iOS 6 ¿La libreta de direcciones no funciona?
- 11. GWT Recorte de imagen
- 12. cómo obtener contactos usando API de la libreta de direcciones en la programación ios?
- 13. Buscar contactos favoritos de la API de la libreta de direcciones de iOS
- 14. Obtener la etiqueta de número de teléfono iPhone de la Libreta de direcciones
- 15. Recorte de imagen mejorada
- 16. Regístrese en los cambios de la libreta de direcciones, usando ABAddressBookRegisterExternalChangeCallback
- 17. Imagen de recorte de Kinect
- 18. ¿Cómo buscar en la libreta de direcciones de iphone un número de teléfono específico?
- 19. MySQL: Recorte todos los campos en la base de datos
- 20. Obtener fotos de la libreta de direcciones en la aplicación iphone
- 21. ¿Cómo obtener los correos electrónicos de contactos de la libreta de direcciones de un iPhone como NSStrings?
- 22. C# - Detectar imagen de la cara y el recorte
- 23. ¿Cómo agregar un nuevo contacto a la libreta de direcciones de iOS?
- 24. Usando Cocoa Touch Tutorial: Extraer los valores de la dirección de la libreta de direcciones en iPhone OS
- 25. ¿Cómo puedo acceder a la libreta de direcciones de iPhone en una aplicación web?
- 26. Obtener contactos de la libreta de direcciones de iPhone en una aplicación web móvil?
- 27. ¿Hay alguna manera de obtener los ID de contacto de la libreta de direcciones de los ID de contacto de Sync Services?
- 28. Recorte de la imagen de relación de aspecto en la rejilla de respuesta de arranque
- 29. Tratar con contactos duplicados debido a tarjetas vinculadas en la API de la libreta de direcciones de iOS
- 30. GWT - imagen de la base de datos
Los marcos no son aplicaciones. "Sandboxing" es en gran medida solo proceso/basado en UID. Sin embargo, resulta que /var/mobile/Library/AddressBook/AddressBookImages.sqlitedb es legible, por lo que debería ser posible extraer el recorte, incluso si se considera "privado". –
Si se puede consultar la base de datos sqlite, entonces se pueden resolver tantas cosas. Algo así como etiquetas personalizadas, el problema de recorte de cultivo aquí, y el problema de tienda (ABStore) antes de iOS SDK 4.0, ... etc. Mi compañero lo había intentado y dijo que no podía ejecutar comandos en la base de datos sqlite que administraba el marco de la libreta de direcciones. Quizás puedas intentarlo de nuevo. – AechoLiu