Comment extraire une image d'un dossier et l'afficher dans une "imageView" ?

Bonjour,


 


Maintenant que j'ai à  peu près saisi les TableViews, je vous sollicite encore pour afficher des images en ".png" qui leurs sont associées.


 


J'ai tenté de trouver des posts qui traitent de çà  mais sans vraiment de résultats


 


Par où commencer ?


Réponses

  • CéroceCéroce Membre, Modérateur

    Ouh, là  excuse moi, je suis mal réveillé.


     


    Une NSImageView affiche une NSImage (propriété .image).


    Il te faut donc instancier une NSImage.


  • CéroceCéroce Membre, Modérateur

    Exemple dans un Playground:


     


    import Cocoa
    import PlaygroundSupport
     
    let path = "Library/Desktop Pictures/Earth and Moon.jpg"
    let url = URL(fileURLWithPath: path)
    let image = NSImage(byReferencing: url)
     
    let imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 400, height: 400))
    imageView.image = image
    PlaygroundPage.current.liveView = imageView

  • PatyomPatyom Membre
    juillet 2017 modifié #5

    Cool,


    En fait j'y étais presque, j'avais juste oublié de faire le lien des imageView avec le Viewcontroller (les outlets).


    Tu me diras que c'est avec les erreurs que l'on apprend


     


    Sorry, merci


  • Encore une question


     


    Comment faites-vous pour tester si une image existe (est présente) ou pas après recherche dans un dossier.

  • Joanna CarterJoanna Carter Membre, Modérateur

    (NS)FileManager.fileExistsAtPath(...) ou (NS)URL.checkResourceIsReachableAndReturnError(...)


  • Ha oui, faire le test sur Path, je n'y avais pas pensé


     


    merci


  • tabliertablier Membre
    juillet 2017 modifié #9

      ::)  Ne pense pas trop, tu vas te faire mal !


    éventuellement suivant ou est le fichier:  imageNamed:   ou  initWithContentsOfFile:


    puis  imageViewWithImage:


  • PatyomPatyom Membre
    juillet 2017 modifié #10

    C'est bon j'ai extrait quelques lignes de code sur le net que j'ai compris et j'en ai fait une "func" que j'appelle à  chaque fois.





    func testPresenceImageDansDossier(leCheminAppend: String, imageBase: NSImage, imageAAfficher: NSImage) -> NSImage {

    // Test de présence d'image graphique
    let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
    let url = NSURL(fileURLWithPath: path)
    let filePath = url.appendingPathComponent(leCheminAppend)?.path
    let fileManager = FileManager.default
    if fileManager.fileExists(atPath: filePath!) {
    return imageAAfficher
    }

    return imageBase

    }

    cà  vous parait bon comme code ou y a t'il plus simple ?


     


    Bon ça marche.


     


    Ha j'ai aussi des lignes, des rectangles à  tracer et des textfields à  inclure dans ces images quand je les affiche.


    Comment fait-on ? Je savais faire avec RB (xojo) mais là  j'en ai aucune idée et surtout il n'y a pas trop de sujet là -dessus.


     


    Merci


  • Les lignes et les rectangles cela se dessine. Et les textfileds peuvent être ajoutés par code au dessus des images.

  • on doit pouvoir écrire du texte sur un dessin et sauvegarder le tout, non ?


  • Oui, on peut. Comme on peut afficher du texte par dessus l'image pendant l'exécution du programme. Crée un topic sur ce sujet, et j'y répondrais ce soir avec un exemple de code.

Connectez-vous ou Inscrivez-vous pour répondre.