Domanda

Quando sto convertendo RGBA su ARGB, ho usato questo codice:

vImage_Buffer src;
src.height = height;
src.width = width;
src.rowBytes = srcBytesPerRow;
src.data = srcRows;

vImage_Buffer dest;
dest.height = height;
dest.width = width;
dest.rowBytes = destBytesPerRow;
dest.data = destRows;

// Swap pixel channels from BGRA to RGBA.
const uint8_t map[4] = { 2, 1, 0, 3 };
vImagePermuteChannels_ARGB8888(&src, &dest, map, kvImageNoFlags);
.

Sto ricevendo l'errore qui sotto: per questo ho aggiunto Convertion.h e Accelerate.framework.

.

Simboli indefiniti per l'architettura Armv6:
"_vimagepermutechannels_argb8888", referenziato da: - [ccoverlayview processiimage] in ccoverlayview.o ld: simboli (s) non trovato per architettura Armv6 Collect2: LD restituito 1 stato di uscita

Qualcuno può aiutarmi per favore?

È stato utile?

Soluzione

Potresti vedere uno dei due problemi:

1) Questa routine si trova nel Accelerate.framework.Devi aggiungere questo al tuo progetto.

2) Questa routine è disponibile solo in iOS 5.0 e successiva;Probabilmente non dovresti includere Armv6 in queste build.(I dispositivi che richiedono ARMV6 non possono eseguire iOS 5.0).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top