我想在ARKit中创建一个捕获图像并将字节数组发送到TCP服务器。
这是我的代码。
@IBOutlet weak var sceneView: ARSCNView!
@IBAction func sendButtonAction(_ sender: Any) {
let captureImage:UIImage = self.sceneView.snapshot()
}
我可以通过快照获取图像,但我不知道如何将其转换为字节数组(包括像素R,G,B数据。)
我试图将UIImage改为像这样的二进制数据。
let imageData: NSData = UIImagePNGRepresentation(captureImage)! as NSData
但这不正确,因为每当我快照时,imageData的大小都是可变的:(
我的目的是制作一个captureImage的字节(UInt8)数组,其大小为宽*高* 3(R,G,B)字节
如果您有任何想法可以解决这个问题,请帮助我。
答案 0 :(得分:0)
我对使用UIImagePNGRepresentation
对您不起作用的内容感到有些困惑,抱歉,如果我遗漏了某些内容,或者您可以澄清一下。
但是对于其中一个,PNG会期待RGBA,所以你可能想尝试UIImageJPEGRepresentation
,因为它不支持alpha通道。
如果您想要获得实际的NSMutableArray
,请查看此旧答案是否有帮助:https://stackoverflow.com/a/29734175/8895191