[如何使用C ++文件iOS项目将std :: vector 转换为NSData

问题描述 投票:0回答:1

[在iOS项目中使用C ++文件执行算法时,我遇到了一个函数返回jpeg图像的std :: vector数据的问题。

我一直在寻找如何从std :: vector 转换为NSData并将其转换为UIImage的特定问题。

但是不幸的是,经过反复试验,我没有找到任何解决方案,我遇到了一个与此问题一起发布的解决方案。

ios objective-c xcode nsdata stdvector
1个回答
0
投票

要理解std :: vector 是字节数组。

要将其转换为NSData,我们需要使用以下方法

  1. 这里getFrontFaceJPEG()是一个C ++函数,它以std :: vector 的形式返回Jpeg数据。std::vector<uchar> vectorImg = img.getFrontFaceJPEG();

  2. 一旦返回std :: vector ,我们需要使用以下方法将其转换为NSDataNSData * imgData = [[NSData alloc] initWithBytesNoCopy:vectorImg.data() length:vectorImg.size() freeWhenDone:false];

  3. 最后您可以转换为UIImage UIImage *resultimage = [UIImage imageWithData:imgData];

© www.soinside.com 2019 - 2024. All rights reserved.