ios - UIImage 从 iOS 图像库中选择

标签 ios swift uiimage

我想从图片库中选择任何图片,而不是 Assets 中名为“mona-lisa”的图片。可能吗?

func addPainting(_ hitResult: ARHitTestResult, _ grid: Grid) {

    // 1.
    let planeGeometry = SCNPlane(width: 0.2, height: 0.35)
    let material = SCNMaterial()
    material.diffuse.contents = UIImage(named: "mona-lisa")
    planeGeometry.materials = [material]

    // 2.
    let paintingNode = SCNNode(geometry: planeGeometry)
    paintingNode.transform = SCNMatrix4(hitResult.anchor!.transform)
    paintingNode.eulerAngles = SCNVector3(paintingNode.eulerAngles.x + (-Float.pi / 2), paintingNode.eulerAngles.y, paintingNode.eulerAngles.z)
    paintingNode.position = SCNVector3(hitResult.worldTransform.columns.3.x, hitResult.worldTransform.columns.3.y, hitResult.worldTransform.columns.3.z)

    sceneView.scene.rootNode.addChildNode(paintingNode)
    grid.removeFromParentNode()
}

最佳答案

如上所述,您可以使用 UIImagePickerController 从图像库中选取图像。

这里是如何使用它的小例子。

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

@IBOutlet var imageView: UIImageView!

let imagePicker = UIImagePickerController()


@IBAction func loadImageButtonTapped(sender: UIButton) {
    imagePicker.allowsEditing = false
    imagePicker.sourceType = .photoLibrary // The defined source type means the you take images from system gallery.

    present(imagePicker, animated: true, completion: nil)
}

override func viewDidLoad() {
    super.viewDidLoad()

    imagePicker.delegate = self
}

// MARK: - UIImagePickerControllerDelegate Methods

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])  {
    if let pickedImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
        imageView.contentMode = .scaleAspectFit
        imageView.image = pickedImage // Here you have the image which was picked in gallery.
    }

    dismiss(animated: true, completion: nil)
}

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    dismiss(animated: true, completion: nil)
}

}

关于ios - UIImage 从 iOS 图像库中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53248696/

相关文章:

ios - 在Spotify iOS SDK中混合两个AUNode

ios - 跳过自定义 shareExtesion 的轮换

swift - 如何在 Vapor 中使用 PostgreSQL 事务

arrays - 从 UIImage 数组获取值并转换为字符串

ios - iOS 中的 OpenGL ES 2.0 和默认 FrameBuffer

ios - 你如何使用 Swift 关闭打开的文件?

swift - UIImageView 与aspectToFil 并仅裁剪图像的顶部

ios - 无法更改 watchOS 2 中动画动态图像的持续时间

swift - 如何在 Swift 3.0 中使用物理体

ios - 对这种响应长时间运行的异步网络调用的 iOS 方法有任何顾虑吗?