French Aide avec drawline

Cast

Member
Bonjour quelqu'un peut il me dire ce qui ne va pas.
Voilà mon code avec lequel je tente de dessiner une ligne dans un panel.

B4X:
Activity.SetBackgroundImage(LoadBitmapSample(File.DirAssets, "Pelouse2.jpg", 100%x, 600%y))
    Activity.LoadLayout("Layout2")
    Trace.Initialize(20dip,30dip)
    Trace.DrawLine(Panel1.Left, Panel1.Top,Panel1.Left+10,Panel1.Top+10,Colors.Blue,25dip)
 

klaus

Expert
Licensed User
Longtime User
Malheureusement, tu ne donnes pas assez d'informations.
Quel objet est Trace?
Pour dessiner il faut un objet Canvas.

Il serait beaucoup plus facile de t'aider si tu postais ton projet en fichier zip.

1596352499866.png


Plusieurs points m'interpellent:
1. Dans Activity.SetBackgroundImage(LoadBitmapSample(File.DirAssets, "Pelouse2.jpg", 100%x, 600%y)).
P
ourquoi 600%y, qui représente 6 fois la hauter de l'écran ?
2. Que représente: Trace.Initialize(20dip,30dip) ?
2. Dans Trace.DrawLine(Panel1.Left, Panel1.Top,Panel1.Left+10,Panel1.Top+10,Colors.Blue,25dip)
Je supposes que tu veux tracer sur Panel1.
2.1 Les coordonnées pour les dessin dans le Panel, se rapportent au coin supérieur gauche.
Donc, dans ton cas tu devrais utiliser:
Trace.DrawLine(0, 0, 10dip, 10dip, Colors.Blue, 25dip)
2.1. Tu utilises Panel1.Left+10 alors que tu devrais utiliser Panel1.Left+10dip
A moins que tu veux vraiment utiliser des pixels purs.
2.2 Tu veux dessiner un trait d'une largeur de 25dip dans un carré de 10 pixels !?

Finalement, que veux-tu faire exactement?
 

Cast

Member
Oui effectivement j'essaye desesperement de tracer une ligne dans mon panel1.
Panel que j'aimerai remplir comme une jauge au fur et a mesure de certaines valeurs.
 

Cast

Member
Pour ce qui est de Trace.Initialize(20dip,30dip) je pensais que cela donné la taille du trait au départ.
Bon je vais continuer à tatonner.
 
Last edited:

Cast

Member
Voilà le zip du code. Mais ce ne sont que des tests pas encore le projet.
 

Attachments

  • KR.zip
    37.9 KB · Views: 294

klaus

Expert
Licensed User
Longtime User
Ci-joint un petit projet qui remplit un Panel.
Au premier coup d'oeuil il peut sembler un peu compliqué, mais c'est ma manière de programmer. Je préfère d'utiliser des variables autant que possible.
Au lieu de dessiner chaque fois une ligne je dessine à chaque fois la couleur de fond sur tout le rectangle, puis je calcule la hauteur de remplssage en pixels et definis un rectangle représentant ce remplissage que je dessine sur le Panel.
J'utilise la bibliothèque XUI, qui offre quelques options supplémentaires par rapport aux objets standards et qui plus est sont multi-plateforme.
 

Attachments

  • Jauge.zip
    9.2 KB · Views: 315

Cast

Member
Bonjour, bon finalement aprés avoir bidouillé, cherché, fait refait. J'ai pris la solution des jauges. Merci Klaus.
 
Top