iOS PHAset

Muestre una foto en vivo: una foto que incluye acción y sonido antes y después de capturar el momento.

I. Resumen

En iOS y tvOS, puede usar esta clase para hacer referencia a Live Photo desde la galería del usuario (obtenida usando las clases PHAsset y PHImageManager ) y usar los datos obtenidos para cargar y mostrar Live Photo en otros lugares (como compartir imágenes a través de redes sociales) y cargue la Live Photo en PHLivePhotoView para mostrarla.

En iOS, tvOS y MacOS, puede usar esta clase para demostrar el proceso de edición de una Live Photo en una extensión de edición de fotos.

Nota
Para obtener información sobre cómo integrar Live Photos con la experiencia de usuario de su aplicación, consulte Live Photos en las Pautas de interfaz humana de iOS .

PHLivePhotoLa clase tiene la misma función para Live Photo que UIImage( ) para imágenes estáticas. NSImageUn objeto UIImageo NSImageno es un archivo de datos cargado para una imagen, sino una imagen lista para usar que se puede mostrar en una vista; de manera similar, un objeto marca una foto en vivo PHLivePhotoque está lista para usar PHLivePhotoView(Para usar una Live Photo como elemento de una biblioteca de fotos, use PHAssetuna clase. Para usar una fuente de datos que constituya una Live Photo, use PHAssetResourceuna clase).

Sugerencias
Para mostrar contenido de Live Photo en una página web, utilice el marco LivePhotosKit JS.

2. Contenido

1. Revisa una foto en vivo

@property(solo lectura, no atómico) CGSize tamaño;

El tamaño de la foto en vivo.

2. Cargue una foto en vivo desde un archivo de datos

+ (PHLivePhotoRequestID)requestLivePhotoWithResourceFileURLs:(NSArray<NSURL *> *)fileURLs placeholderImage:(UIImage *)image targetSize:(CGSize)targetSize contentMode:(PHImageContentMode)contentMode resultHandler:(void (^)(PHLivePhoto *livePhoto, NSDictionary *info) )manejador de resultados;

  • fileURLs, NSArray- Una matriz de URL, esta matriz contiene varias URL que constituyen un recurso de Live Photo, utilice la PHAssetResourceclase para obtener la URL.
  • image, UIImage- Se carga todo el contenido de Live Photo y se muestra la imagen alternativa anterior.
  • targetSize, CGSize- El tamaño deseado de Live Photo. La entrada CGSizeZeroes el tamaño original de Live Photo.
  • contentMode, PHImageContentMode- Cómo hacer coincidir la relación de aspecto de la imagen con el tamaño solicitado. Por favor, compruebe los detalles PHImageContentMode.
  • resultHandler, block- La devolución de llamada cuando se carga la imagen.
  • livePhoto, PHLivePhoto- La Live Photo solicitada.
  • info, NSDictionary- Información sobre el estado de la solicitud. Consulte a continuación para obtener más información Result Handler Info Dictionary Keys.

Carga asíncronamente una foto en vivo desde el archivo de origen dado. Devolverá una identificación única utilizada para identificar la solicitud.

Utilice este método para cargar el objeto Live Photo para mostrarlo desde el archivo de datos obtenido previamente en la biblioteca de fotos. Por ejemplo, se podría usar una aplicación de red social PHAssetResourcepara tomar los archivos de datos que componen una Live Photo de la biblioteca de fotos de un usuario y cargarlos en un servidor. Luego, en el dispositivo de otro usuario, la aplicación descarga los archivos de datos y usa este método para recrear un objeto Live Photo para PHLivePhotoViewmostrarlo usando la clase.

Nota
Para obtener un objeto que represente un recurso de Live Photo en la biblioteca de fotos del usuario PHLivePhoto, use PHAssetla clase para ubicar el recurso y use PHImageManagerla clase para obtener los datos de Live Photo del recurso para su visualización.
Para introducir una Live Photo en la biblioteca de fotos, use PHAssetCreationRequestla clase.

Este método es asíncrono. Fotos carga, valida y prepara los datos en un hilo de fondo, luego llama a su resultHandlerdevolución de llamada con un objeto Live Photo listo para mostrar. Al igual que PHImageManagercon métodos similares en Fotos, su resultHandlerdevolución de llamada se puede llamar más de una vez: la primera vez, proporciona un objeto Live Photo de baja calidad (que contiene solo la imagen fija en el parámetro de imagen del método) y luego devuelve una Live Photo completa de movimiento. y contenido sonoro. Las fotos también volverán a llamar a su devolución de llamada si el valor correspondiente está en el diccionario en su resultHandlerdevolución de llamada .infoPHLivePhotoInfoIsDegradedKeyYESresultHandler

Este método carga un objeto de la misma colección de archivos que un recurso de Live Photo obtenido previamente PHLivePhoto. Cuando utiliza este método, Photos verifica que los archivos y sus datos de origen se puedan cargar como Live Photo. Si Photos no pudo cargar una Live Photo desde el archivo dado, el parámetro resultHandleren su devolución de llamada será y el diccionario contendrá un objeto que describe el error.resultnilinfoNSError

Claves del diccionario de información del controlador de resultados

  • NSString *const PHLivePhotoInfoErrorKey;
    Ocurrió un error al cargar la foto solicitada. El valor es un NSErrorobjeto.
  • NSString *const PHLivePhotoInfoIsDegradedKey;
    Indica si la livePhoto devuelta actualmente es un resultado temporal de baja calidad de la foto solicitada. En caso afirmativo YES, la devolución de llamada se llamará más tarde para devolver los datos completos de Live Photo.
  • NSString *const PHLivePhotoInfoCancelledKey;
    Si cargar la foto solicitada o no.

+ (void)cancelLivePhotoRequestWithRequestID:(PHLivePhotoRequestID)requestID;

Cancelar una solicitud asíncrona.

Cuando utiliza el método anterior para solicitar de forma asíncrona cargar una Live Photo desde el archivo de origen, este método devolverá un identificador numérico para la solicitud. Para cancelar esta solicitud antes de que se complete, llame a este método y pase el identificador numérico de la solicitud.

Supongo que te gusta

Origin blog.csdn.net/chennai1101/article/details/129991089
Recomendado
Clasificación