GrabAMap - Encore un programme de capture de carte
Apr 4th, 2009 by barbudor in PC (Windows) software
1.- Présentation
GrabAMap : Encore un programme de capture de carte. Un de plus !
GrabAMap (ou GAM pour les intimes) permet de capturer sous forme de fichier(s) image des cartes, ou tout autre graphisme, qui se présentent à l’écran dans une fenêtre pouvant se déplacer dans toutes les directions. GAM va permettre de déplacer la carte et d’effectuer à chaque déplacement une capture. L’ensemble de ces captures peut ensuite être ré-assemblé pour former une carte plus grande.
GrabAMap ressemble beaucoup à ses cousins, toutefois il présente quelques caractéristiques intéressantes pour certains. Faisons un tour de ses fonctions
- Possibilité de déplacer la carte par clic (généralement sur des flèches) ou par glissé-déplacé;
- Définition de la zone de capture ainsi que des points de clic à la souris;
- Contrôle des temporisations de déplacement et de capture afin de s’adapter à toutes les applications ou site web;
- Enregistrement des cartes dans des fichiers BMP;
- Sauvegarde et rappel des configurations.
Pour l’instant chaque capture donne lieue à un fichier BMP. Plus tard j’implémenterais une fonction qui permet de ré-assembler les multiples BMP dans une seule grande image automatiquement. Dans cette version actuelle, si vous désirez disposer d’une grande carte, il vous faudra recoller les morceaux à la main… Désolé.
Dégagement de responsabilités
J’ai développé cet utilitaire pour mon usage personnel. Je vous l’offre gratuitement sans contrepartie. Je ne garantie rien. Vous l’utiliserez à vos risque et périls. Je ne saurais être tenu pour responsable d’effets secondaires indépendants de ma volonté et potentiellement destructeurs pouvant résulter d’une configuration différente entre mon PC et le votre, d’une erreur de programmation, de l’infection par un virus non reconnu par mon anti-virus personnel. Je ne promets même pas que ce programme fasse de prêt ou de loin ce qu’il prétend.
Dans la mesure du possible, et tant que le site GpsPassion me le permettra, je répondrait à vos questions dans le forum dédié sur GpsPassion. J’écouterais avec attention vos remarques et suggestions, toutefois je ne promet pas de faire évoluer le logiciel en tenant compte de ces remarques si elles ne correspondent pas à ce que j’ai envie d’en faire.
Forum GpsPassion : ici.
2.- Installation
Téléchargez le fichier dont le lien est donné en bas de cette page. Pour l’instant il ne s’agit que d’un simple exe. Pas de d’installateur automatique ou quoi que ce soit de compliqué. Placez ce fichier exe dans un répertoire qui vous convient. Créez éventuellement un raccourci. Les fichiers images seront stockés dans le répertoire de l’exe, donc évitez de le placer dans un répertoire où il cohabite avec d’autres programmes.
3.- Utilisation
Lancez l’exe et vous obtiendrez l’écran principal, simple et discret au possible:
Interressons nous tout d’abord à l’icone en forme de roue dentée qui permet d’ouvrir la page des réglages.
L’onglet “Grab configuration” est la page de configuration liée à une application ou un site donné :
On retrouve les réglages classiques de la zone de capture et des points de clics. Pendant les réglages, la zone centrale devient une loupe afin de cliquer précisément :
Le bouton “View” permet de visualiser le bon réglage de la zone de capture en la recouvrant d’une zone bleutée. N’oubliez pas de faire disparaître cette zone bleutée en re-cliquant dedans.
Les délais à régler dépendent de l’application ou du site, de la vitesse de votre connexion, etc … Vous serez peut être obligé de tâtonner pour les optimiser.
- Le “Move delay” est le temps en 2 clics (ou 2 drag) dans le cadre d’un même mouvement. En effet, dans le mode “clic”, GAM clique plusieurs fois sur une flèche avant de faire la capture. Cela parce que la plupart des sites web ne déplacent la carte que d’une toute petite fraction à chaque clic. Or il est intéressant de maximiser le déplacement tout en gardant une petite zone de recouvrement. Le réglage du nombre de clic par déplacement n’est pas accessible dans l’IHM mais on peut le modifier en éditant dans Notepad le fichier GAM (voir plus bas ).
- Le “Snapshot delay” est le délai que GAM attend entre la fin d’un déplacement et la capture proprement dite. Dans la plupart des cas, on peut enchaîner des clics très rapidement, même si l’affichage ne suit pas. Par contre il faut attendre alors un peu plus longtemps que l’affichage soit stabilisé avant de faire la capture.
Accessoirement, le “Snapshot delay” est aussi le temps pendant lequel apparaît la fenêtre permettant d’annuler une capture en cours. Alors ne le régler pas trop court sinon vous ne pourrez jamais arrêter une capture en cours.
4.- Le mode “Drag”
En cliquant sur “Use drag mode” on active le mode “drag” qui permet d’utiliser GAM sur des sites qui ne disposent pas de flèches. Cette fois au lieu de simuler des clics de souris, GAM va simuler des glisser-déplacer.
En activant ce mode, les boutons de réglage des point d’action des flèches deviennent inopérats puisqu’ils ne servent plus.
Le glissé-déplacé va positionner la souris à environ 1/20° d’un bord et glisser la souris à 1/20° du bord opposé. Afin de permettre au site web de mieux répondre, le glissé-déplacé est coupé en 20 glissé-déplacés élémentaires. GAM attend le “Move delay” entre chaque glissé-déplacé élémentaire. La souris est relaché puis re-cliquée pour chacun de ces glissé-déplacés élémentaires. (Euh.. c’est clair ?)
Une fois le déplacement effectué, GAM attend toujours le “Snapshot delay” avant d’effectuer la capture.
5.- Réglages de l’application
L’onglet “Application settings” permet lui de régler des paramètres globaux à l’application qui ne peuvent pas être personnalisés par site. On trouve:
- “Beep on snapshot” active un “ding” a chaque capture
- “Stich…” permettra un jour d’activer le rassemblement automatique des captures dans un seul et unique fichier
6.- Capture
Après être retourné à la fenêtre principale en cliquant sur “OK”, il faut encore régler la taille de la capture souhaitée:
Deux nombres permettent de définir la taille de la carte finale en nombre de captures horizontales et nombre de captures verticales.
Avant de lancer la capture, n’oubliez pas de positionner la carte dans la fenêtre sur le coin supérieur gauche de la zone à capturer. GAM va capturer en se déplaçant en zig-zag en commençant vers la droite (est), puis vers le bas, puis vers la gauche, puis vers le bas, … jusqu’à parcourir toute la zone à capturer.
Quand vous êtes prêt, cliquez sur le bouton avec l’appareil photo et la capture commence.
Un premier “ding” vous signale la première capture, après la carte va se déplacer. Après chaque déplacement la fenêtre suivante apparaît :
durant la délai de capture. Si vous ne pressez pas la barre d’espace, alors le ding retentit à nouveau et la capture est effectuée. L’indicateur d’avancement est représentatif de l’avancement dans les captures.
Puis le déplacement suivant s’enchaîne, etc … jusqu’à couverture de la zone à capturer.
Le résultat est un ensemble de fichiers “test_X_Y.bmp” situés dans le même répertoire que l’application.
Pour l’instant GAM ne permet pas de choisir le nom du fichier de sortie ou son emplacement.
7.- Réglages secrets
Comme promis, en éditant le fichier .GAM dans Notepad, vous aurez accès à quelques réglages qui ne sont pas encore accessibles dans l’IHM:
- PixelsPerClick : pour l’instant inutilisé.
- ClicksPerStep : nombre de clics sur la flèches par déplacement (nombre de déplacements élémentaires entre chaque capture)
Pour utiliser ces réglages, enregistrez votre configuration, éditez le fichier GAM puis rechargez la configuration/
Hello.
I tried to use your GrabAMap-Tool. Its works, but: I receive many little bmp-files and now i have the problem to “stitch” them together. Unfortunately your “stitch into single map” isnt functional. Do you have a new version or some advice? Thanks in advance.
greetings from Hannover, Germany.
Joerg
Dear Joerg,
First greetings for trying a software which web page is only in french !!
Yes stitching is not yet working in GrabAMap and I did not had much time to work on it recently.
I suggest 2 wyas of working it around :
- Use an external sticher such as one used for photos. Some users have reported being successfull using the free one provided by Microsoft http://research.microsoft.com/en-us/um/redmond/groups/ivm/ICE/ or StitchMap (shareware)
- Use anothe software such as MapMaker from Xander : http://www.xander.free.fr/downloads/MapMaker_vb3.zip which does the stitching in realtime but not the automatic scrolling of the map.
Best regards
~barbudor~
Salut Barbudor,
je viens de voir ton application : pas mal effectivement ! Et pour tout te dire, le glissé / déplacé était la prochaine étape dans MapMaker
Dans ton cas, pour assembler les cartes, c’est relativement facile car tu connais le déplacement effectué. ta zone de recherche est donc très réduite. Quoiqu’il en soit je peux aussi te filer un bout de mes sources pour l’assemblage automatique. Je programme sous visual C++. En revanche, le code n’est pas hyper commenté :$ et parait donc plutot obscur, d’autant plus que je fais une recherche dans toute l’image… et qu’il m’a donc fallu trouver des trucs et astuces pour réduite autant que faire se peut le temps de recherche…
Bref, pour MapMaker, si tu veux, j’ai une version moins bugguée que la béta 3 à disposition sur mon site si ca t’interesse.
@++ Xander.
Bonjour Xander,
Merci d’être passé faire un tour ici.
GrabAMap est écrit en C#. C’était pour moi une façon d’essayer ce language. et finalement j’ai trouvé cela pas mal car j’ai effectivement codé GrabAMap en quelques jours. Sauf que …. ce qui me bloque le plus, c’est comment faire des corrélations sur les images en C#. Contrairement au C++, on n’a pas accès facilement aux pixels donc ça m’a un peu bloqué sur ma lancée et je n’ai pas eu le temps de m’y remettre. Depuis j’ai trouvé Map Maker et j’ai décidé que l’avantage de l’assemblage automatique était plus intéressant que le déplacement automatique et je suis devenu un utilisateur de Map Maker
Amitiés
~barbudor~
Salut barbudor,
J’ai sous le coude un petit logiciel que j’avais écrit il y a quelques temps permettant de recoudre (stitch) des images entre elles. Il était fait à la base précisément pour recoudre les captures d’écran, c’est-à-dire qu’il recherche seulement des translations entre les images. Il est utilisable directement en ligne de commande.
Je l’ai essayé avec GrabAMap, et il fonctionne globalement. Cependant, il arrive qu’il n’arrive pas à assembler certaines images, et j’ai vu que cela venait du fait qu’il ne dispose pas d’une zone de recouvrement assez grande entre les images successives.
Serait-il possible que tu ajoutes à GrabAMap une option permettant de régler le 1/20ème de recouvrement à autre chose ?
Bonne idée. Je suis actuellement en déplacement professionnel mais je devrais pouvoir faire cela ce week-end.
Merci de prévoir un lien que je pourrais ajouter vers ton logiciel.
Eventuellement, si tu peux me le passer, je pourrais aussi envisager d’inclure l’appel directement depuis GrabAMap.
Je n’ai plus de site web ou quoi que ce soit (j’ai assez donné à ce sujet, mais je m’y remettrais peut-être plus tard). Cependant, mes sources sont en LLL-LGPL ; enfin, je te donne tout le code source que tu veux, et même l’exécutable que tu pourras inclure dans ta distribution si tu veux, tu en fais ce que tu veux.
Peut-être serait-il possible de parler de tout cela par mail (celui que j’ai mis dans le champ mail de ce post ; contacte-moi) ?
Je t’expliquerai comment s’en servir, on fera des tests, etc.