天道酬勤,学无止境

How to add an image to an ARSCNScene in Swift?

I stumbled upon a roadblock with the development of a Swift playground I'm developing. I want to add an image to my ARSCNScene (ARKit + SceneKit). Not as a background, but as an actual node with positions and all. Does anyone know whether this is possible? I couldn't find anything online. Thanks!

评论

You can easily add UIImage as diffuse material to your SCNPlane. Example:

    let image = UIImage(named: "yourImageName")
    let node = SCNNode(geometry: SCNPlane(width: 1, height: 1))
    node.geometry?.firstMaterial?.diffuse.contents = image

Further, you can modify your node as you like. I hope it helped!

I think I found a solution too for this problem since im having the same issue

Write:

node.geometry?.firstmaterial?.diffuse.contents = #imageLiteral(resourceName: “yourimagename”)

Note that you have to add the image inside the assets first (as an image set of course)

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 如何在 Swift 2 中创建图像叠加并添加到 MKMapView?(How do I create an image overlay and add to MKMapView in Swift 2?)
    问题 我正在尝试学习 MapKit,现在正在尝试添加图像(不是多边形、圆形、矩形等)作为地图视图的叠加层。 我似乎找不到任何示例代码来帮助解释如何做到这一点。 到目前为止,我在 ViewController.swift 中的代码是: import UIKit import MapKit import CoreLocation class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate { @IBOutlet var mapView: MKMapView! var locationManager: CLLocationManager! var mapOverlay: MKOverlay! override func viewDidLoad() { super.viewDidLoad() //Setup our Location Manager locationManager = CLLocationManager() locationManager.delegate = self locationManager.desiredAccuracy = kCLLocationAccuracyBest locationManager.startUpdatingLocation() /
  • How do I create an image overlay and add to MKMapView in Swift 2?
    I am trying to learn MapKit and am now trying to add an image (not a polygon, circle, rectangle, etc.) as an overlay to the map view. I can't seem to find any sample code to help explain how to do this. So far my code in ViewController.swift is: import UIKit import MapKit import CoreLocation class ViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate { @IBOutlet var mapView: MKMapView! var locationManager: CLLocationManager! var mapOverlay: MKOverlay! override func viewDidLoad() { super.viewDidLoad() //Setup our Location Manager locationManager = CLLocationManager()
  • Swift:如何在标签中内联添加和动画图像视图?(Swift: How to add and animate image view inline in label?)
    问题
  • 如何在Swift的Xcode 6中的Storyboard中成功添加图像?(How to successfully add an image in Storyboard in Xcode 6 in Swift?)
    问题 我是Xcode的新手(2天),到目前为止,我发现它相当令人沮丧。 我只是试图通过Storyboard将图像添加到我的应用程序的ViewController中,但是它没有出现在模拟器上。 有人可以帮我吗? 回答1 如果尝试使用XCode的示例项目,则可能在项目中找到“ Images.xcassets”文件夹。 将您的图像拖到该文件夹​​中。 然后转到情节提要,将焦点放在“图像视图”上。 在属性列表的“图像”字段中,您可以在其下拉菜单中选择图像。 尝试在模拟器中运行 祝你好运! 回答2 以下是有关xcode 10的一些详细信息。 编辑故事板,创建图像视图。 韦恩指出,请在Images.xcassets中添加所需的图像。 单击您的图像视图: 查看->检查器->显示属性检查器选择图像: 回答3 将图像加载到“ Assets.xcassets”文件夹中后,需要在右侧检查器选项卡下找到“属性检查器”。 聚焦或单击您必须作为情节提要中的支架放置的“图像视图”。 在属性检查器下方的右选项卡上(看起来像标尺旁边的向下箭头),您可以从下拉选择中选择图像。 您可能还需要将“内容”模式更改为“ Aspect Fit”。
  • 如何在Swift中为UIImageView对象分配动作(How to assign an action for UIImageView object in Swift)
    问题 我正在尝试在用户点击UIImageView将其分配给一个动作。 我知道如何为UIButton创建动作,但是如何模仿UIButton的相同行为却使用UIImageView ? 回答1 您将需要一个UITapGestureRecognizer 。 要进行设置,请使用以下命令: override func viewDidLoad() { super.viewDidLoad() let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(imageTapped(tapGestureRecognizer:))) imageView.isUserInteractionEnabled = true imageView.addGestureRecognizer(tapGestureRecognizer) } @objc func imageTapped(tapGestureRecognizer: UITapGestureRecognizer) { let tappedImage = tapGestureRecognizer.view as! UIImageView // Your action } (您还可以使用UIButton并为其分配图像,而无需输入文本,而不仅仅是连接IBAction
  • 如何在iOS Swift中向图像添加文本?(How do I add text to an image in iOS Swift?)
    问题 我环顾四周,但未能弄清楚如何获取文本,将其覆盖在图像上,然后将两者合并为一个UIImage 。 我已经用我能想到的搜索字词用尽了Google,因此,如果有人有解决方案或至少有一个提示,他们可以指出它,将不胜感激。 回答1 好吧...我想通了: func textToImage(drawText: NSString, inImage: UIImage, atPoint: CGPoint) -> UIImage{ // Setup the font specific variables var textColor = UIColor.whiteColor() var textFont = UIFont(name: "Helvetica Bold", size: 12)! // Setup the image context using the passed image let scale = UIScreen.mainScreen().scale UIGraphicsBeginImageContextWithOptions(inImage.size, false, scale) // Setup the font attributes that will be later used to dictate how the text should be drawn let
  • 如何快速将图像添加到我的表格单元格?(How can I add an image to my table cell in swift?)
    问题 我正在关注本教程,并且正在为每个 json 条目创建单元格。 没有照片一切正常: func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var cell = tableView.dequeueReusableCellWithIdentifier("CELL") if cell == nil { cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "CELL") } let user:JSON = JSON(self.items[indexPath.row]) // print(user) let picURL = "/Users/K/Desktop/aproject/apps/address/addr/Images.xcassets/TabMap.imageset/up_dark.png"//just for tests - some random png let url = NSURL(string: picURL) let data = NSData(contentsOfURL: url!) cell
  • How can I add an image to my table cell in swift?
    I'm following this tutorial and I'm creating cells for each json entry. Everything works fine without photos: func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var cell = tableView.dequeueReusableCellWithIdentifier("CELL") if cell == nil { cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "CELL") } let user:JSON = JSON(self.items[indexPath.row]) // print(user) let picURL = "/Users/K/Desktop/aproject/apps/address/addr/Images.xcassets/TabMap.imageset/up_dark.png"//just for tests - some random png let url = NSURL
  • 如何以编程方式创建UIImage视图-Swift(How do you create a UIImage View Programmatically - Swift)
    问题 我正在尝试以编程方式创建UIImage视图,我有一个新视图,并且尝试这样做 let imageName = "yourImage.png" yourview.backgroundColor = UIColor.colorWithPatternImage(UIImage(named:imageName)) 这是行不通的,因为我不知道您在第二行中应该怎么看。 问题:我如何通过编码而不是在情节提要中使UIImageView出现在屏幕上 回答1 首先,从图像文件创建UIImage ,然后从该图像创建UIImageView : let imageName = "yourImage.png" let image = UIImage(named: imageName) let imageView = UIImageView(image: image!) 最后,您需要给imageView一个框架并将其添加到视图中以使其可见: imageView.frame = CGRect(x: 0, y: 0, width: 100, height: 200) view.addSubview(imageView) 回答2 首先创建UIImageView,然后在UIImageView中添加图像。 var imageView : UIImageView imageView = UIImageView
  • 如何在 swift 3 中以编程方式为 barButtonItem 设置操作?(How to programmatically set action for barButtonItem in swift 3?)
    问题 这是我之前用的 var barButtonItem = UIBarButtonItem(image: backImgs, style: UIBarButtonItemStyle.plain, target: self, action: Selector("menuButtonTapped:")) 但是 Swift 3 有一些语法更改。 回答1 前任:- navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action: #selector(addTapped)) 回答2 总结 Swift 3 中最常用的向 barButton 添加动作的方法。 带文本的条形按钮navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action: #selector(addTapped)) 带有您自己的图像的 BarButton navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(named:"add"), style: .plain
  • How to successfully add an image in Storyboard in Xcode 6 in Swift?
    I'm very new to Xcode (2 days) and so far I'm finding it fairly frustrating. I'm just trying to add an image to my app's ViewController via he Storyboard, but it does not appear on the simulator. Could someone assist me?
  • 如何在 Swift 中从文件夹中获取 UIImage 数组?(How to get array of UIImage, from folder, in Swift?)
    问题 我有一个像这样的普通 Xcode 项目...... 请注意有一个名为“images”的文件夹(它是一个实际的文件夹 - 不仅仅是一个组)。 它包含 25 个“.png”图像。 我想要做的就是用这些图像中的每一个制作一个UIimage数组。 (或者甚至是图像名称或类似名称的数组,那很好 - 然后可以加载它们UIImage(named: ) 我如何进入该文件夹“图像”? 子文件夹“图像/汽车”怎么样? 我试过这样的事情,但它什么也没找到...... override func viewDidLoad() { let imageArray = NSBundle.mainBundle().URLsForResourcesWithExtension( "png", subdirectory: "images") print("test...") for n:NSURL in imageArray! { print("found ..." ,n) } } 回答1 我们假设图像在应用程序的资源包中。 如果不是,您需要确保您的图像目录列在目标“构建阶段”的“复制捆绑资源”中。 编辑这只会将图像复制到应用程序包中,如果您需要按照下面的代码将文件夹复制到应用程序包中,请使用以下 StackOverflow 问题进行正确设置。 这为我们提供了一个 URL 数组,然后我们可以使用 UIImage
  • 如何使故事板上的UIImageView可单击(快速)(How do you make an UIImageView on the storyboard clickable (swift))
    问题 我是新手(通常是Xcode开发人员),我想知道如何使故事板上的ImageView可点击。 我正在尝试做的是使它单击,从而显示另一个视图控制器。 回答1 您可以为此添加tapGesture。 这是代码: class ViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // create tap gesture recognizer let tapGesture = UITapGestureRecognizer(target: self, action: "imageTapped:") // add it to the image view; imageView.addGestureRecognizer(tapGesture) // make sure imageView can be interacted with by user imageView.userInteractionEnabled = true } func imageTapped(gesture: UIGestureRecognizer) { // if the tapped view is a
  • 将内嵌图像添加到使用 swiftmailer 发送的消息中(add inline image to a message sent with swiftmailer)
    问题 请原谅我的 php,但是,我使用 Swiftmailer 从客户网站发送电子邮件。 他们要求添加一两个图像作为签名等,因此请在此处查看 swiftmailer 规范 http://swiftmailer.org/docs/messages.html 他们建议添加这样的内嵌图像 $message->embed(Swift_Image::fromPath('http://site.tld/image here')) 或像这样(分两步) $cid = $message->embed(Swift_Image::fromPath('image here')); 然后在电子邮件正文部分添加 <img src="' . $cid . '" alt="Image" />' 这两个步骤我都试过了,但都无济于事。 当我点击发送电子邮件按钮时,我收到这个错误,我不知道该怎么做。 Call to a member function embed() on a non-object in /home/content/78/5152878/html/4testing/erase/ask-doc-proc2.php on line 89 我添加到我已经工作的代码和电子邮件中的唯一内容是直接来自文档页面示例中的图像代码。 此错误显然会阻止发送电子邮件。 如果我删除它然后它发送电子邮件很好。
  • How do I add text to an image in iOS Swift?
    I have looked around and have been unsuccessful at figuring out how take text, overlay it on an image, and then combine the two into a single UIImage. I have exhausted Google using the search terms I can think of so if anyone has a solution or at least a hint they can point to it would be greatly appreciated.
  • 如何快速添加子视图控制器?(How to add child to view controller swift?)
    问题 我试图将图像添加到视图控制器上的特定坐标,我已经导入了 SpriteKit 以查看是否有帮助。 我只需要添加图像并能够在 UIBezierPath 上移动它,但它不会让我添加 Child。 var blueDot = SKSpriteNode() var blackDot = SKSpriteNode() var levelLabelInt = levelLabel.text!.toInt() var blueDotTexture = SKTexture(imageNamed: "Sprites.atlas/BlueDot.png") blueDot = SKSpriteNode(texture: blueDotTexture) blueDot.position = CGPoint(x: (50), y: levelLabelInt! + 100) self .addChildViewController: ViewController (blueDot) 回答1 通过查看上面的code ,您的问题之一是self和.addChildViewController之间的空间 在 Swift 中,要向self发送消息,您必须使用 .dotSyntax。 并且addChild()函数需要一个UIViewController类型的参数 self.addChild(blueDot
  • 我如何添加这个分享按钮? IOS8 与 swift(How do i add this sharing button? IOS8 with swift)
    问题 我希望我的应用程序中有一个按钮,当它被按下时,这个(见下图)会弹出。 我怎么做? 我不想创建自定义共享扩展,我只想要默认的? 我使用什么代码? 网上的所有教程都是objective-c。 请迅速给予答复。 图片:http://9to5mac.com/2014/06/30/hands-on-1password-beta-shows-off-ios-8s-touch-id-extensions-apis-video/#jp-carousel-330420 到目前为止,这是我的代码,但我收到一个错误,即 UIBarButtonItem 不是 UIVIew 为什么? 该操作是否连接到导航栏按钮项? @IBAction func ActionButton(sender: UIBarButtonItem) { let firstActivityItem = "Text you want" let secondActivityItem : NSURL = NSURL(string: "http//:urlyouwant")! // If you want to put an image let image : UIImage = UIImage(named: "TALogo")! let activityViewController : UIActivityViewController =
  • 我们如何使用 swift 在 UITableView 部分标题中添加图像?(How can we add image in UITableView section header using swift?)
    问题 在我的 willDisplayHeaderView 中,我更改了部分标题的颜色但我想在部分标题之前添加一个图像。 有什么帮助吗? 我的 willDisplayHeaderView 代码是 func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { let header: UITableViewHeaderFooterView = view as UITableViewHeaderFooterView header.contentView.backgroundColor = UIColor(red: 238/255, green: 168/255, blue: 15/255, alpha: 0.8) header.textLabel.textColor = UIColor.whiteColor() header.alpha = 1 } 回答1 您可以设计自己的标题,就像在表格视图中设计自定义单元格一样。 或者你可以像这样添加一个图像: func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { var
  • 如何在Swift中设置图像的宽度和高度(How do set a width and height of an Image in Swift)
    问题 通常是Swift和iOS编程的新手。 我不知道如何设置图像的宽度和高度。 例如, let backgroundImage = UIImage(named: "background.png") 谢谢 回答1 我的建议是。 相反,图像集大小,你应该设置的大小UIImageView ,然后把这个形象就这么,图像的大小将显示按您的要求。 像这样 var imageView = UIImageView(frame: CGRectMake(100, 150, 150, 150)); // set as you want var image = UIImage(named: "myImage.png"); imageView.image = image; self.view.addSubview(imageView); 回答2 您有此代码,此代码设置了宽度和高度并保存了相同的位置。 /** Resize UIImageView :param: UImage :param: new size CGSize :return: new UImage rezised */ func imageResize (#image:UIImage, sizeChange:CGSize)-> UIImage{ let hasAlpha = true let scale: CGFloat = 0.0 //
  • How to add images as text attachment in Swift using NSAttributedString?
    I'm trying to build a custom keyboard for iOS using images which I've put in as buttons. When I press a button, the image linked to the button is put into an attributed string which is loaded into an UiTextView inside the custom keyboard view. That is working. The problem is that when I append a new image to the attributed string both the old and new images in the string are changing to the image I currently pressed on. I can't understand why the old images in the string are changing. Any suggestions? I've tried using replaceCharactersInRange and insertAttributedString but can't get it to work