无法将条形码图像加载到SCNPlane

时间:2019-05-24 16:48:59

标签: swift generator scenekit barcode

没有[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)上显示的条形码图像

0 个答案:

没有答案