PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → [WM27 Android] Marqueurs minuscules sur champ carte!
[WM27 Android] Marqueurs minuscules sur champ carte!
Started by Cezame, Sep., 27 2022 12:12 PM - 1 reply
Posted on September, 27 2022 - 12:12 PM
Bonjour,

Pour les besoins d'une application je dois modifier dynamiquement les marqueurs sur un champ carte suivant certains paramètres.

Pour ce faire j'utilise les fonctions de dessin dremplissage, dcopie...
Je part d'un marqueur neutre, je colore celui ci avec dremplissage en fonction d'un choix de couleur fait par l'utilisateur (couleur RVB).
Ensuite suivant divers paramètres je copie une image par dessus l'image avec la bonne couleur.
Pour cela je passe par une variable image.
Les images à superposer sur le marqueur de base sont des champs image de la fenêtre
Chaque image fait 24 par 24 pixels
ImageEnCours est une Image

Image_Perte = IMG_1
Image_Immobile = IMG_2
Image_Perte_GPS = IMG_3

ImageEnCours = IMG_Défaut

dRemplissage(ImageEnCours ,128,64,nCouleurChoisie) //Valeur RVB

SELON nEtat

CAS 1
dCopie(IMG_1,ImageEnCours)
CAS 2
dCopie(IMG_2,ImageEnCours)
CAS 3
dCopie(IMG_3,ImageEnCours)

FIN

MonMarqueur..image = ImageEnCours


Problème si je n'utilise que l’icône de base il apparait à la bonne taille ((24x24 pixels)
Dès que j'utilise la fonction dremplissage ou dcopie le marqueur apparait de très petite taille sur la carte !
Comment solutionner ce problème?
Par avance merci
Posted on September, 27 2022 - 2:37 PM
Alors une nouvelle régression surement !
J'ai essayé d'affecter l'image à un champ image comme ceci :

ImageEnCours est une Image


ImageEnCours = IMG_Défaut

dRemplissage(ImageEnCours ,128,64,nCouleurChoisie) //Valeur RVB

SELON nEtat

CAS 1
dCopie(IMG_1,ImageEnCours)
CAS 2
dCopie(IMG_2,ImageEnCours)
CAS 3
dCopie(IMG_3,ImageEnCours)

FIN
IMG_Temp = ImageEnCours
MonMarqueur..image = IMG_Temp


Même résultat

Puis j'ai testé en sauvant l'image dans un fichier comme ceci

ImageEnCours est une Image


ImageEnCours = IMG_Défaut

dRemplissage(ImageEnCours ,128,64,nCouleurChoisie) //Valeur RVB

SELON nEtat

CAS 1
dCopie(IMG_1,ImageEnCours)
CAS 2
dCopie(IMG_2,ImageEnCours)
CAS 3
dCopie(IMG_3,ImageEnCours)

FIN
dSauveImagePNG(ImageEnCours,"Image_Temp.png")
MonMarqueur..image = "Image_Temp.png"


et la ça fonctionne!

Mais que on a plusieurs dizaines de Points à rafraichie en permanence sur la carte cette solution 'est pas envisageable car trop gourmande en ressources.

Donc pour conclure les fonctions CarteAjauteMarqueur et Carte ModifieMarqueur ne fonctionnent pas correctement avec une variable image !