|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 4 ![]() |
bonjours a tous!
je suis débutant en vba et ignore encore de nombreuse fonction. j'utilise excel pour faire un calcul en élément fini sur la section d'une poutre composé de deux matériaux. je voudrai afficher cette section en dessinant dans une image. a savoir ma section compte 80 * 200 éléments et je voudrait que un élément soit un carré de 3*3 pixels. je voudrais donc colorier ces carrés sois en jaune, sois en bleu selon le matériau de l'élément. mais j'ai eu beau chercher je n'ai pas trouvé de fonction permettant de colorier les pixels d'une image. connaissez vous un moyen de le faire? je sait pas si je suis très clair merci de votre attention |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Il faut à mon avis passer par les API windows pour faire ce que tu souhaites, mais avant de te lancer dans cette aventure, il serait bien d'avoir plus de détail, comme par exemple le but final de cette affichage. Si par exemple tu souhaites juste afficher ta structure dans le UserForm, pourquoi ne pas utiliser des Labels que tu générerais dynamiquement. Tu les place et les dimensionne ensuite comme tu le souhaites sur ton userform. Essai de nous mettre une image représentant le rendu final que tu souhaiterais obtenir. Si toutefois tu souhaites avoir plus de renseignement sur les classes graphique liées aux API, je te conseil de regarder du côté des tutoriels d'Arkham46 en particulier sur les classes GDI. ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 4 ![]() |
salut Qwaz!
merci de ta réponse. ![]() les tutoriels que tu me conseil on l'air de correspondre a ce que je veux faire même si ça me demandera un peu de temps pour les comprendre. je suppose donc qu'il n'existe pas de fonction "pinceau" ou d'attribut color des pixels comme j'en est croisé sur lasarus (bin non ça serai trop simple )ton idée d'utilisé des labels ma l'air bonne, bien que quelque peu bourrine ça fait quand même 16000 label a crée! il faut donc que je les crée dynamiquement en contrôlant leur taille, leur place, leur nom et leur couleur que je pourrai ensuite modifier a ma guise grâce au nom qui fera référence a leur position. j'ai plus qu'a chercher comment crée ces labels automatiquement, si tu vois comment faire ça je suis preneur. je ne croie pas qu'une image t'aidera, je ne suis pas moi même sur du rendu final, tant que j'ai 16000 petites cases que je peut colorier ca me va! landeur |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
16000 .... laisse tomber les labels, je en pense pas que ce soit une bonne idée. (j'avais pas intégré le 80*200...) Pour la coloration de pixel, il existe setpixel, qui te permet de modifier la couleur d'un pixel. Lazarus c'est du pascal, il y a une fonction identique. J'ai fait (heu non, j'ai un programme en cours de développement ) sur Delphi qui me permet de tracer des flèches et des cercles (en gros, vraiment en gros Si je devais faire quelque chose de similaire sur VBA, je pense que j'utiliserais les modules de classes. Je ferais une classes contenant les propriétés liées aux objets que je manipule, ainsi que la position de mon objet sur mon UserForm. En faisant ainsi, a chaque mise à jour de ton UserForm, tu redessines les objets contenus dans ta collection de type TaclassePerso. Au final tu aurais une collection contenant 16000 items. Cerise sur le gâteau, cette méthode te permet également d'enregistrer toutes ses infos dans un fichier hiérarchie, je dirais au format xml par exemple. [Edit] Sinon une autre piste serait peut-être d'utiliser les graphique Excel, après tout ils sont là pour afficher des points (carrés) leur taille est sans doute paramétrable. [/Edit] ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 4 ![]() |
merci de tes conseils, je vais réfléchir a tout ça et continuer a chercher.
je tien au jut de mes avancées. [edit] je ne trouve pas de tuto sur setpixel pourrais tu m'en indiquer un ou juste me montrer le code pour changer la couleur d'un pixel [/edit] bonne soirée landeur |
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() ![]() |
Salut
Tu trouveras des info dans les doc de la GDI d'arkham46. Tu as également le DrawRectangle présenté dans ce document avec dans ce document ci, les paramètres de DrawRectangle, notamment la couleur de remplissage du rectangle. Si tu reprends l'idée de la création d'une Classe, il te "suffit" alors dans le corps de ta Classe d'intégrer une fonction Draw, qui tracera le carré représenté par les infos contenus dans l'instance de la Classe. Ainsi chaque instance sera chargé de tracé le carré qu'elle représente lorsque tu lui en fera la demande via sa méthode Draw ++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2011 Messages : 4 ![]() |
salut!
posté a 5h44 tu t’arrête jamais qwaz vais essayer de me plonger dans les tuto et autres joyeuseté des que j'aurais le temp. bonne soirée landeur |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com