Attualmente faccio i miei primi passi con lo sviluppo di iPhone tramite MonoTouch, sto giocando con uno UIImage
che ho letto dalla libreria di foto.Rileva se un UIImage è PNG o JPEG?
Quello che voglio ottenere è ottenere l'array di byte non elaborato (byte[]
) dell'immagine.
So che ci sono i wrapper UIImageJPEGRepresentation
e UIImagePNGRepresentation
in MonoTouch. So anche come usarli. Quello che non so è:
Come decidere quale di queste due funzioni chiamare?
I.e. se l'immagine originale è un'immagine JPEG, non voglio ottenerla come PNG ma anche come JPEG e viceversa.
C'è un modo per farlo o mi mancano alcuni punti su questo?
Grazie, @bryanmac Fondamentalmente sto scrivendo un piccolo strumento per selezionare un'immagine dalla libreria foto e caricarla attraverso un servizio web. Quindi non sto producendo l'immagine, ma semplicemente "consumandola". Forse potrei ottenere i byte grezzi da qualche parte nel parametro 'NSDictionary editingInfo' di" FinishPickingImage "? –
Quindi, se ho capito, non importa se la foto è stata originariamente caricata come PNG o JPEG ... una volta che hai ottenuto UIImage puoi convertirlo in entrambi i formati? – Fustigador
Se c'è un canale alfa, allora vuoi sapere quale usare. Ho preso un file jpeg e poi ho usato uiimage per visualizzarlo e poi lo ho salvato su un database locale, ho ripensato avrei dovuto salvarlo sul disco, chiunque usassi UIImagePNGRepresentation invece di UIImageJPEGRepresentation e più tardi ho provato a ripristinarlo e questo è il risultato http://imgur.com/2yG3Zv2 Come puoi vedere, la trasparenza è incasinata. Come ho detto, probabilmente dovrei semplicemente salvarlo su hdd e archiviare il percorso, ma il punto è che in alcuni casi importa quale funzione usi. – Biclops