| |
Posté le 21 avril 2021 - 15:35 |
Bonjour, Dans un champ image (image de la France avec les départements) je dois colorier les départements d'une même zone. J'ai utilisé la souris pour déterminer où se situait chaque département j'ai récupéré position x et position y que j'ai stocké dans une table. Sur mon PC pas de problème lorsque je demande de colorier un département avec dremplissage celui-ci est bien colorié de même pour la zone qui regroupe plusieurs départements. Par contre sur le PC de mes collègues tout est décalé. Pourtant les coordonnées x et y ont été déterminées par rapport à l'image. Quelqu'un aurait-il une idée d'où cela peut provenir ? (cela a déjà fonctionné sur les PC de mes collègues dans des versions antérieures de mon appli peut être avant de passer à Windows 10) Merci d'avance de votre aide. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 144 messages Popularité : +50 (142 votes) |
|
Posté le 21 avril 2021 - 17:08 |
Bonjour,
C'est peut-être une histoire de résolution / dpi. Dans le dernier Tech Tour - journée 1 - ils ont montré comment faire (parti sur le lasso de l'OCR), c'est un calcul simple (que j'ai oublié).
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net Tuto WINDEV sur ma chaîne Youtube |
| |
| |
| | | |
|
| | |
| |
Posté le 21 avril 2021 - 19:29 |
il y a une option au niveau du projet/des fenêtres pour le choix entre le mode classique au niveau des coordonnées écran OU le nouveau mode 'indépendant/dpi'
Je soupçonne que cette option a été modifiée entre les deux versions, et que ca explique que les anciennes coordonnées ne sont plus au bon endroit. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 144 messages Popularité : +50 (142 votes) |
|
Posté le 26 avril 2021 - 12:07 |
| |
| |
| | | |
|
| | |
| |
Posté le 26 avril 2021 - 14:23 |
non...
Dans les options du projet, onglé avancé
ET dans les options de la fenêtre, onglet UI...
Le nom des choix a changé avec les versions. En 25, ca demande projet ET mobile ou projet OU mobile, ce qui est clair comme du jus de chaussette |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
Posté le 27 avril 2021 - 16:10 |
Merci à vous deux pour vos réponses. J'ai essayé diverses solutions mais j'ai toujours un décalage lorsque je change d'ordinateur. le décalage est progressif c'est à dire qu'en haut à gauche c'est parfait et cela se décale de plus en plus si on va à droite et en bas. @Thierry Tillier Si tu pouvais retrouver le calcul à faire stp ? Comme je ne suis pas en dernière version de WinDev (je suis en 24) je n'ai pas droit au support gratuit ...
-- Cordialement, LucileD |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 144 messages Popularité : +50 (142 votes) |
|
Posté le 29 avril 2021 - 11:56 |
Si l'image d'origine a une résolution de 300 DPI et l'écran 96 DPI il faut multiplier les coordonnées (x et y) et les dimensions (largeur et hauteur) par 300 et diviser par 96 :
MonX=MonX *300/96 ... MaLargeur=MaLargeur*300/96
Si la résolution de l'écran n'est pas connue on peut utiliser l'API GetDpiForWindow.
DPI=API("user32","GetDpiForWindow",Handle(MaFenêtre))
MonX=MonX *300/DPI ... MaLargeur=MaLargeur*300/DPI
Si votre image d'origine ne fait pas 300 dpi de résolution, il faudra remplacer par la bonne valeur (je suppose).
Je n'ai pas testé, c'est ce que j'ai compris du WTT21. J'espère que ça vous donnera des pistes pour résoudre votre problème.
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net Tuto WINDEV sur ma chaîne Youtube |
| |
| |
| | | |
|
| | |
| |
Posté le 29 avril 2021 - 17:27 |
Merci de votre réponse. J'essaye dès que j'ai un moment et vous redis si cela a fonctionné |
| |
| |
| | | |
|
| | |
| |
Posté le 29 avril 2021 - 22:07 |
Si j'ai bien compris, les coordonnées d'origine, celles stockées dans le programme, n'ont rien à voir avec les DPI de l'image, et tout à voir avec la taille de l'image dans son champ...
Donc, je suppose que pour une des raisons évoquées plus haut le champ image dans les pc affectés n'a pas toujours la même taille (peut être simplement qu'il est extensible)...
De ce fait, c'est le ratio entre taille d'origine du champ (hauteur ET largeur) et celle au moment de l'exécution (encore hauteur et largeur, vu que les agrandissement ne sont pas forcément identiques) qui devrait être appliqué aux coordonnées enregistrées, facon règle de trois...
Donc, NouvellePositionX = AnciennePositionX/LargeurDOrigine*LargeurDuChampALExecution NouvellePositionY = AnciennePositionY/HauteurDOrigine*HauteurDuChampALExecution |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 144 messages Popularité : +50 (142 votes) |
|
Posté le 30 avril 2021 - 10:54 |
@aArgus, Si j'ai bien compris la dernière WTT21 il y a deux choses à prendre en compte : Le Couple DPI de l'image (ou PDF =>300DPI par défaut) d'origine et le DPI de l'écran (96 DPI, en général) et le cas du champ image avec une propriété homothétique, dans cas on peut aussi utiliser la fonction CoordonnéeChampImageVersImage (pour la version 26).
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net Tuto WINDEV sur ma chaîne Youtube |
| |
| |
| | | |
|
| | |