Bortch59 Posté(e) le 20 septembre 2011 Posté(e) le 20 septembre 2011 Bonjour, je n'arrive pas à afficher une image dans une boite de dialogue.j'ai trouvé ce sujet mais je n'arrive pas à l'exploiter. Ce que je ne comprends pas, c'est que doit on mettre dans la variable sld.J'imagine que c'est l'image que l'on souhaite afficher mais comment la définir (avec ou sans extension, chemin complet...) ; on lance le chargement de l'image (start_image MonImage) (fill_image 0 0 width height 0) ; Couleur de fond (slide_image 0 0 width height sld) ; Image (end_image) ) ; mettre_image Merci.
(gile) Posté(e) le 20 septembre 2011 Posté(e) le 20 septembre 2011 Salut, L'image doit être un "cliché" AutoCAD : cliché isolé (.sld) ou cliché dans une bibliothèque de cliché (.slb) créé avec la commande MCLICHE (_MSLIDE).L'argument sld peut donc être le nom complet d'un fichier .sld ou avoir la forme utilisée avec la commande AFFCLICH (_VSLIDE) pour afficher un cliché appartenant à une bibliothèque : bibliothèquedeclichés(cliché). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bortch59 Posté(e) le 20 septembre 2011 Auteur Posté(e) le 20 septembre 2011 Salut, merci pour cette réponse rapide.C'est ce que j'avais compris, le cliché est déjà fait. Je pense donc que c'est la fonction que je n'appelle pas au bon moment. extrait du sujet précédemment cité:et cette fonction tu la mets dans celle qui gère la dcl:
Bortch59 Posté(e) le 21 septembre 2011 Auteur Posté(e) le 21 septembre 2011 Salut,après de multiples essais je n'ai toujours pas réussi à afficher d'image. Je poste mon code test ainsi que ma boite, si quelqu'un voit mon erreur. (defun c:test (/) (setq id (load_dialog "BDD_image.dcl")) (new_dialog "b_image" id) (mettre_image "BIBCLICH(CVC_C45)") (action_tile "accept" "(done_dialog)") (start_dialog) (unload_dialog id) (princ) ) (defun mettre_image( sld / MonImage width height) (setq MonImage "image") ; on récupère les dimensions (setq width (dimx_tile MonImage)) ; Largeur de la case (setq height (dimy_tile MonImage)) ; Hauteur de la case ; on lance le chargement de l'image (start_image MonImage) (fill_image 0 0 width height 0) ; Couleur de fond (slide_image 0 0 width height sld) ; Image (end_image) ) ; mettre_image b_image : dialog { label = "image"; : row { : image { key = "cliché"; height = 10; width = 10; color = 1; aspect_ratio = 1; is_enabled = false; } } ok_cancel; } L'ensemble fonctionne mais l'image ne s'affiche pas.Merci.
(gile) Posté(e) le 21 septembre 2011 Posté(e) le 21 septembre 2011 (defun mettre_image( sld / MonImage width height) (setq MonImage "image") ; on récupère les dimensions (setq width (dimx_tile MonImage)) ; Largeur de la case (setq height (dimy_tile MonImage)) ; Hauteur de la case ; on lance le chargement de l'image (start_image MonImage) (fill_image 0 0 width height 0) ; Couleur de fond (slide_image 0 0 width height sld) ; Image (end_image) ) ; mettre_image Beaucoup d'erreurs...Tu affectes à la variable MonImage la chaîne de caractère : "image" et ensuite tu utilises cette chaîne comme argument pour dimx_tile et dimy_tile alors que l'argument pour ces fonctions doit être la clé du contrôle soit "cliché" dans ton fichier DCL (évite d'utiliser des lettres accentuées dans les codes).Il est inutile de remplir l'image avec fill_image puisque tu la remplis ensuite avec slide_image. Si "image.sld" est bien le nom du fichier sld et qu'il est bien dans les chemins de recherche (pas testé) :(defun c:test (/ id width height) ; déclaration des variables (setq id (load_dialog "BDD_image.dcl")) (if (new_dialog "b_image" id) (progn ;; on récupère les dimensions (setq width (dimx_tile "cliché")) ; Largeur de la case (setq height (dimy_tile "cliché")) ; Hauteur de la case ;; on remplit l'image (start_image "cliché") (slide_image 0 0 width height "image") ; Image.sld (end_image) (action_tile "accept" "(done_dialog)") (start_dialog) (unload_dialog id) ) ) (princ) ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bortch59 Posté(e) le 22 septembre 2011 Auteur Posté(e) le 22 septembre 2011 Effectivement grossière erreur... Cela fonctionne.Par contre l'utilisation de fill_image permet de choisir la couleur de fond du cliché (blanc par défaut). Merci
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant