2015-10-19 21 views
5

Non sono sicuro di cosa stia accadendo esattamente, ma sto tentando di visualizzare le tessere radar su una mappa di Google Maps e sto ricevendo i seguenti messaggi:Piccoli bitmap endian e "Impossibile creare GMSGLImageTile a causa di dati grafici errati"

  • ((null)) era falso: impossibile creare GMSGLImageTile a causa di dati grafici cattive
  • ((null)) era falso: non sostenere piccoli bitmap endian

esiste un Un modo semplice per convertire un UIImage in un grande endian o c'è qualcosa che ho bisogno di Come usare/sottoclasse GMSSyncTileLayer?

Le immagini che sto cercando di rendere come tessere sono immagini png.

risposta

1

Questo errore si verifica se le immagini PNG dei riquadri non sono impostate con profondità colore a 8 bit.

La modifica della profondità del colore delle immagini su 8 bit dovrebbe risolvere il problema.

1

Se è solo il problema big-little endian, sì. Hai ottenuto la bitmap da NSDate o è possibile crearne una? In tal caso, convertirlo in una matrice di byte, quindi scambiare i bit.

* A cura

Io e gli altri ragazzi hanno fatto alcune risposte qui: https://stackoverflow.com/a/33051250/1900120

+0

I ho provato a scrivere un metodo che avrebbe scambiato quei bit , ma l'immagine è stata veramente mutilata. Ci è voluto molto tempo per capire cosa stava succedendo, quindi abbiamo finito per utilizzare un'implementazione diversa che serviva a immagini a 8 bit. Grazie per il tuo aiuto! –

+0

Sei il benvenuto Brian. Sono così curioso della tua implementazione ~ È una struttura dati e algo quella speciale progettata per convertire i bit di sottofondo? Per favore, dammi un suggerimento se non ti dispiace dato che quelle informazioni potrebbero aiutare molti di noi in futuro. – MatthewLuiHK