Come posso ottenere un URL da UIImage? Ho un'immagine dalla libreria di iPhone e la ridimensiono e non voglio salvare la nuova immagine ma voglio ottenerla.Come ottenere l'URL da UIImage
risposta
UIImage non ha URL o informazioni sul file. È solo una raccolta di byte che rappresentano i dati dei colori dei pixel. Se si ottiene UIImage da UIImagePicker, è possibile ottenere l'URL dall'immagine originale nella libreria degli asset. Ma devi ottenere questo URL nel metodo di delega di selezione immagini e devi tenerne traccia separatamente dall'oggetto UIImage.
Modifica - in base al commento dell'OP, questa non è l'informazione richiesta.
quindi se voglio ottenere l'url allora devo salvarlo da qualche parte e poi posso ottenere l'url? –
La tua domanda è ancora abbastanza vaga. Stai parlando di un URL di un'immagine che è stata modificata o ridimensionata. Se stai facendo questo con un UIImage, non c'è nessun URL per questa nuova immagine. Hai solo un'immagine in memoria. – rmaddy
Se l'immagine esiste, deve esserci un percorso associato e quindi l'url .. –
Quello che stai cercando è il parametro UIImagePickerControllerReferenceURL
fornito dal callback del delegato nel dizionario delle informazioni. Quello che dovete fare è:
NSURL* imageURL = [info objectForKey:UIImagePickerControllerReferenceURL];
E sarebbe simile a questa:
assets-library://asset/asset.JPG?id=SOME_GUUID&ext=JPG
è possibile utilizzare quest'ultimo per fare riferimento alla stessa immagine che hai nel UIImage*
nella callback.
È possibile creare sottoclasse UIImage e creare un override di initWithURL: per salvare l'URL in una proprietà creata ... qualcosa di simile.
+ (id) initWithURL:(NSURL*)url
{
[super initWithURL:url];
self.url = url;
}
Tu dici che non vuoi salvarlo, ma se avete bisogno di un URL per un UIImage
, si può facilmente salvare una copia temporanea per ottenere l'URL di cui avete bisogno.
// Create a URL in the /tmp directory
guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("TempImage.png") else {
return
}
// save image to URL
do {
try UIImagePNGRepresentation(myImage)?.write(to: imageURL)
} catch { }
Ora è possibile utilizzare l'URL per condividere l'immagine sui social media o qualsiasi altra cosa si debba fare con esso.
Vedere here per ulteriori informazioni.
LIFE SAVER !!!!! – Pentarex
- 1. Come ottenere UIImage da EAGLView?
- 2. Come posso ottenere CGContextRef da UIImage?
- 3. Come posso ottenere UIImage da GPUImageView
- 4. Come ottenere la dimensione (KB) di UIImage
- 5. Caricamento UIImage da UIImagePickerControllerReferenceURL
- 6. Crea UiImage da NSData
- 7. URL dati/PNG da UIImage
- 8. Come posso creare Pdf da UIImage?
- 9. Conversione da PDF a UIImage
- 10. Get UIBezierpath da mascherare un UIImage
- 11. Downcast da "UIImage?" a 'UIImage' scarta solo optional
- 12. Creazione di UIImage da CIImage
- 13. Come ottenere array di UIImage, dalla cartella, in Swift?
- 14. Come si autocorre un UIImage?
- 15. crea un UIImage da due UIImageView
- 16. Come copiare un UIImage?
- 17. Cattura UIView come UIImage
- 18. CGImage (o UIImage) da un CALayer
- 19. carico UIImage da URL in iOS
- 20. Come posso convertire FBProfilePictureView in un UIImage?
- 21. Ottenere un CGImage da CIImage
- 22. UIImage metadati
- 23. come inserire UIImage in UITextView
- 24. Come serializzare UIImage su JSON?
- 25. Come creare un UIImage nero?
- 26. Ottieni NSData direttamente da AFNetworking, piuttosto che convertirlo in UIImage
- 27. Qual è la differenza tra UIImage (named :) e UIImage (imageLiteralResourceName :)?
- 28. Come scalare un UIImage senza lisciare nulla?
- 29. Come posso ottenere un CGImageRef da un file?
- 30. Come aggiungere UIImage estensibile in CALayer.contents?
Probabilmente dovrai espandere un po 'quello che vuoi, stai chiedendo un nuovo percorso per l'immagine, il vecchio percorso per l'immagine o qualcos'altro. L'unico URL che potrebbe essere associato a una UIImage è un URL del filesystem che punta a dove esiste sul disco. – Bergasms
Voglio l'url della nuova immagine –