1

RGBA を ARGB に変換するときは、次のコードを使用しました。

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);

以下のエラーが表示されます: そのために と を追加Convertion.hしましAccelerate.frameworkた。

アーキテクチャ armv6 の未定義シンボル:
"_vImagePermuteChannels_ARGB8888"、参照先: -[CCOverlayView processImage] in CCOverlayView.o ld: アーキテクチャ armv6 collect2 のシンボルが見つかりません: ld は 1 つの終了ステータスを返しました

誰でも私を助けてもらえますか?

4

1 に答える 1

3

次の 2 つの問題のいずれかが発生している可能性があります。

1) このルーチンは にありAccelerate.frameworkます。これをプロジェクトに追加する必要があります。

2) このルーチンは iOS 5.0 以降でのみ使用できます。おそらく、これらのビルドに armv6 を含めるべきではありません。(armv6 を必要とするデバイスは iOS 5.0 を実行できません)。

于 2012-10-02T21:48:18.953 に答える