没有[SceneKit]错误:加载失败:
(0)通过“场景编辑器”创建一个SceneKit场景,向该场景添加一个SCNPlane节点以保存UIImage对象(条形码图像) (1)获取从条形码生成器方法返回的UIImage (2)设置barcodeNode.geometry?.firstMaterial?.diffuse.contents到这个UIImage (3)发生错误,SCNNode显示白色块,而不是实际的条形码图像
这是我将条形码图像添加到SCNPlane节点的方法:
let barcodeNode = scene.rootNode.childNode(withName: "barcode", recursively: true)!
barcodeNode.geometry?.firstMaterial?.diffuse.contents = getBarcodeImage()
以下是条形码生成器的源代码:
func getBarcodeImage() -> UIImage? {
return generateBarcode(from: "A0123456789")
}
func generateBarcode(from string: String) -> UIImage? {
let data = string.data(using: String.Encoding.ascii) //Convert String to ASCII Codes using NSData
let filter = CIFilter(name: "CICode128BarcodeGenerator")
filter?.setValue(data, forKey: "inputMessage")
let transform = CGAffineTransform(scaleX: 10, y: 10) //Setting the scale for the image
let output = filter?.outputImage?.transformed(by: transform) //Creating an output after appplying transformations
return UIImage(ciImage: output!)
}
我应该看到在目标SCNNode(SCNPlane Geomertry)上显示的条形码图像