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.hAccelerate.framework.

架构 armv6 的未定义符号:
“_vImagePermuteChannels_ARGB8888”,引用自:CCOverlayView.o ld 中的 -[CCOverlayView processImage]:未找到架构 armv6 collect2 的符号:ld 返回 1 个退出状态

任何人都可以帮助我吗?

4

1 回答 1

3

您可能会看到以下两个问题之一:

1) 该例程位于Accelerate.framework. 您需要将此添加到您的项目中。

2) 此例程仅适用于 iOS 5.0 及更高版本;您可能不应该在这些构建中包含 armv6。(需要 armv6 的设备无法运行 iOS 5.0)。

于 2012-10-02T21:48:18.953 回答