gpt4 book ai didi

objective-c - Objective c UIImage 到 char* 转换返回空字符串

转载 作者:行者123 更新时间:2023-11-30 15:32:42 25 4
gpt4 key购买 nike

我正在尝试将 UIImage (src) 转换为 const unsigned char *

我找到了一个很好的例子as an answer on SO here 。我按照这个例子,但我的缓冲区是一个空字符串(“”)。我一直在寻找更多信息,但找不到任何信息。

这是我的代码:

CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(src.CGImage));
const unsigned char *buffer = CFDataGetBytePtr(pixelData); // buffer is ""
CFIndex bufferSize = CFDataGetLength(pixelData);

我是否遗漏了一个临时步骤,或者我应该一起使用不同的方法吗?

这是我的错误代码的图像:

enter image description here

如果我尝试使用 CDDataRef 或 NSData 进行转换,当尝试将 const unsigned char * 复制到 unsigned char * 时,我仍然会收到 EXC_BAD_ACCESS 错误。

最佳答案

在第二个示例中,您没有malloc您的imageBuffer - 调试器说address = 0x0 很明显。

要修复,只需 malloc imageBuffer:

imageBuffer = malloc(bufferSize);

因为你说这是 Objective-C++,所以你需要强制转换 malloc -

imageBuffer = (unsigned char*)malloc(bufferSize);

把它放在你的memcpy之前。

祝你好运!

关于objective-c - Objective c UIImage 到 char* 转换返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24088289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com