Enregistrement CGImageRef à un fichier png?
dans mon application Cocoa, je charge un .jpg fichier à partir du disque, de la manipuler. Maintenant il doit être écrit sur le disque comme un .fichier png. Comment pouvez-vous faire?
Merci pour votre aide!
Vous devez vous connecter pour publier un commentaire.
Créer un
CGImageDestination
, en passantkUTTypePNG
que le type de fichier à créer. Ajouter l'image, puis finaliser la destination.ImageIO.framework
de référence les fonctions même de la documentation est de dire que c'est àApplicationServices/ImageIO
.À l'aide de
CGImageDestination
et en passantkUTTypePNG
est la bonne approche. Voici un petit extrait:Vous aurez besoin d'ajouter
ImageIO
etCoreServices
(ouMobileCoreServices
sur iOS) à votre projet et inclure les en-têtes.Si vous êtes sur iOS et n'ont pas besoin d'une solution qui fonctionne sur Mac, vous pouvez utiliser une approche plus simple:
Dans mes tests, le ImageIO approche a été d'environ 10% plus rapide que la UIImage approche sur mon iPhone 5s. Dans le simulateur, l'UIImage approche a été plus rapide. C'est probablement la peine de tester chacune pour votre situation particulière de l'appareil si vous êtes vraiment intéressé à la performance.
Ici est un macOS-friendly, Swift 3 & 4 exemple:
En supposant que vous êtes sur macOS et que votre
CGImageRef
estmyCGImageRef
ci-dessous: