[SWIFT] [IOS 14] Wie erhalte ich Bilddaten vom Datentyp direkt von PHPickerViewController?

PHPickerViewController

In Apples PHPickerViewController-Beispielcode gibt es ein Beispiel für das Abrufen eines UIImage, aber es gibt kein Beispiel für das Abrufen von Daten. ..

Das Konvertieren eines UIImage in Daten ist natürlich subtil.

Es mag gut sein, hundert Schritte aufzugeben und HEIC, JPG oder PNG zu verwenden, aber die Methode zum Konvertieren von UIImage in Daten lautet "[pngData ()](https://developer.apple.com/documentation/uikit/uiimage/1624096". Es gibt nur zwei, "-png data)" und "jpegData (compressQuality :)". Wenn Sie das GIF mit diesen Methoden konvertieren, wird die Animation gestoppt.

Immerhin möchte ich den Datentyp direkt abrufen. Für eine solche Person werde ich schreiben ** Wie man Daten von PHPickerViewController erhält **.

Sie können die Daten des Bildes mithilfe von loadDataRepresentation (forTypeIdentifier: finishHandler :) von NSItemProvider abrufen.

Sie können es mit dem NSItemProvider loadDataRepresentation (forTypeIdentifier: finishHandler :) `abrufen.

func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {
    results.forEach { result in
        result.itemProvider.loadDataRepresentation(forTypeIdentifier: "public.image", completionHandler: { [weak self] data, _ in
            guard let data = data else { return }
            print(data)
        })
    }
}

Der Trick besteht darin, "public.image" für den forTypeIdentifier (Uniform Type Identifier) anzugeben. Auf diese Weise können Sie Daten wie HEIC, PNG, JPG, GIF abrufen.

Wenn Sie die zu erfassenden Daten genauer angeben möchten, verwenden Sie die [Uniform Type Identifier Concepts] von Apple (https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/understanding_utis/understand_utis_conc/understand_utis_conc.html). Bitte als Referenz angeben.

Recommended Posts

[IOS 14] Wie erhalte ich Bilddaten vom Datentyp direkt von PHPickerViewController?
Abrufen und Hinzufügen von Daten aus dem Firebase Firestore in Ruby
[Java] So konvertieren Sie vom Typ String in den Pfadtyp und erhalten den Pfad
So erhalten Sie einen Heapdump aus einem Docker-Container
So erhalten Sie eine Klasse von Element in Java
So erhalten Sie eine SIMD-Optimierung für HotSpot JavaVM
Ich möchte nur die Zeit aus Zeittypdaten abrufen ...! [Strftime] * Zusätzliche Hinweise
So ermitteln Sie das Datum aus dem Datumstyp von JavaScript, von dem C # -Entwickler abhängig sind
Wie man einen Schrägstrich zurückschlägt \
Bereitstellen von einem lokalen Docker-Image auf Heroku
So übergeben Sie Bildpixelinformationen nativ aus Unity
Wie man mit cli jdk etc. von oracle bekommt
So schreiben Sie eine Migration vom Rails-Datums- / Uhrzeittyp zum Datumstyp
[iOS] Wie man Karthago liest
[Bequem zu merken !!!] So konvertieren Sie vom LocalDate-Typ in eine Zeichenfolge und von der Zeichenfolge in den LocalDate-Typ
Verwendung von HttpClient (Get) von Java
Wie fange ich mit schlank an?
Hinweise zur Verwendung von Spring Data JDBC
[So installieren Sie Spring Data Jpa]
Holen Sie sich GTFS-Daten aus Graph of OpenTrip Planner
Verwendung des Java-Aufzählungstyps
So wechseln Sie von HTML zu Haml
Versuchen Sie, mit MyBatis im Micronaut + Kotlin-Projekt Daten aus der Datenbank abzurufen
Holen Sie sich das ausgewählte Bild als Daten mit PHPickerViewController (und verarbeiten Sie Live Photo)
So erhalten Sie den Einstellungswert (Eigenschaftswert) aus der Datenbank in Spring Framework
Rufen Sie die Microsoft Emotion API auf, indem Sie Bilddaten direkt von Java senden.
So beschneiden Sie ein Bild in libGDX
So passen Sie TextPosition mit der iOS-Tastaturerweiterung an
[Rails] Wie man von erb zu haml konvertiert
So verwischen Sie das Bild (super einfach)
[Java] Hinzufügen von Daten zur Liste (add, addAll)
[Hinweis] Erste Schritte mit Rspec
So rufen Sie Swift 5.3-Code von Objective-C auf
[Java] So erhalten Sie das aktuelle Verzeichnis
[Flattern] Wie verwende ich C / C ++ von Dart?
Java: So senden Sie Werte von Servlet zu Servlet
Antwortdaten direkt im Frühjahr schreiben
So erhalten Sie das Datum mit Java
So löschen Sie Daten mit einem externen Schlüssel
Einführung in Kotlin für iOS-Entwickler ④-Typ
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
Benötigt für iOS 14? So legen Sie NSUserTrackingUsageDescription fest
So überschreiben Sie Firebase-Daten mit Swift
Typkonvertierung vom Java Big Decimal-Typ zum String-Typ
So montieren Sie JSON direkt in Jackson
So erstellen Sie eine Route direkt aus der URL, die Sie + α angeben möchten
[Spring Boot] So rufen Sie Eigenschaften dynamisch aus einer in einer URL enthaltenen Zeichenfolge ab
So erhalten Sie eine beliebige Ziffernnummer aus 2 oder mehr Ziffern! !!