Не удалось загрузить изображение штрих-кода в SCNPlane - PullRequest
0 голосов
/ 24 мая 2019

Got [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)

...