#1 Wed 22 February 2006 11:16
[Mapbasic 5.5+] export fenetre
B'jour,
je rencontre le problème suivant :
j'aimerais exporter ma fenêtre avec une résolution de 300 dpi. Or avec la version de MapBasic (5.5) que je possède c'est la galère parce que le paramètre "Resolution" n'existe pas !!!!
et quand je fais :
save window id_w as nom_imag type "bmp" width 42.93 units "cm" height 54.6 units "cm"
alors j'ai bien une résolution de 300 dpi mais alors toutes mes étiquettes sont décalées et mes points sont minuscules !!! re
j'ai donc un joli petit programme tout près il reste juste à le compiler, est ce que quelqu'un de bon et charitable peut m'aider, il faut bien évidemment possèder une version récente de MapBasic.
merci d'avance.
alex
Dernière modification par alex (Wed 22 February 2006 11:17)
J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr
Hors ligne
#2 Wed 22 February 2006 11:37
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: [Mapbasic 5.5+] export fenetre
Si tu possèdes la version 7 de mapinfo ou plus tu peux le faire, ouvre la fenêtre mapbasic tu récupéreras la ligne de commande te permettant d'utiliser la résolution.
Ensuite écrit lance cette commande, avec la commande prévue dans mapbasic pour lancer des commande écrite en texte celà devrais passer, dans ce cas là il n'y a pas de vérification de syntaxe.
Si tu souhaites utiliser une version supérieure de mapbasic, il faut utiliser une version supérieure à 7.
Hors ligne
#3 Wed 22 February 2006 12:36
Re: [Mapbasic 5.5+] export fenetre
j'ai pas tout compris !
ce que je viens d'essayer c'est effectuer la manip sur mapInfo et gardant la fenêtre MapBsic mais rien ne s'affiche.
et le problème c'est que cette ligne de commande s'exécute pas mal de fois dans mon programme mapBasic je ne peux pas le faire manuellement.
alex
J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr
Hors ligne
#4 Wed 22 February 2006 12:49
Re: [Mapbasic 5.5+] export fenetre
Pour les versions de MB/MI antérieures à celle permettant de spécifier la résolution, la solution consistait à augmenter la taille de l'image exportée dans la proportion du rapport (resolution voulue/résolution MI). je crois me rappeler que MI exporte toutes ses images avec une résolution de 92 ppi (on devrait le vérifier pour sa propre installation en exportant une fenêtre d'une taille déterminée et en trouvant le nombre correspondant de pixels avec un logiciel de traitement d'image).
Donc au lieu de laisser la taille originale de la fenêtre comme celle de l'image (on ne spécifierait pas alors Width et Height dans Save Window As...), on la multiplierait par 300/92 (width - height = largeur - hauteur de la fenêtre * rapport)
Hors ligne
#5 Wed 22 February 2006 12:56
Re: [Mapbasic 5.5+] export fenetre
le problème quand j'augmente la taille de la fenêtre c'est que ma carte devient plus grande que ma fenêtre et donc MI n'exporte qu'un bout de carte !!!!
ca doit effectivement être un truc comme cela mais c'est terrible la mémoire, hein! parce que j'ai déjà fait cette manip' et je ne me rapelle plus, depuis ce matin j'essaie des trucs mais rien à faire ça ne revient pas d'où mon message.
Il n'y a rien de plus rageant que de savoir que l'on peut le faire, qu'on a su le faire mais que l'on ne sait plus.
Cordialement
alex
Dernière modification par alex (Wed 22 February 2006 13:00)
J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr
Hors ligne
#6 Wed 22 February 2006 14:47
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: [Mapbasic 5.5+] export fenetre
Je viens de relire la doc de mabasic 7.
Puisque je n'étais pas assez clair, je précise les choses
Utilise Run command celà te permettra de passer outre le problème de paramètre inconnu
Cette commande ne sera valide que pour une version de mapinfo de 7 et + mais permet l'utilisation de mapbasic inférieur car le paramètre Resolution n'existait pas avant.
Run command "Save Window La_fenetre As Mon_fichier.jpg Type filetype ""JPEG"" Width 21 Units ""cm"" Height 29.7 Units ""cm"" Resolution 300"
Cette commande exécutera en fait
Save Window La_fenetre as Mon_fichier.jpg Type filetyp "JPEG" Width 21 Units "cm" height 29.7 units "cm" Resolution 300
Cordialement
Damien
Dernière modification par Damien BEAUSEIGNEUR (Wed 22 February 2006 14:47)
Hors ligne
#7 Wed 22 February 2006 16:09
Re: [Mapbasic 5.5+] export fenetre
ah la c'est plus clair !
je te remercie de cette info qui m'à l'air tout à fait au point.
cordialement,
alex
J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr
Hors ligne
#8 Thu 23 February 2006 10:32
- lagnion
- Participant actif
- Date d'inscription: 5 Sep 2005
- Messages: 64
Re: [Mapbasic 5.5+] export fenetre
lorsqu'on a une vielle version de mapbasic, on peut utiliser des fonctions
plus récentes de la façon suivante:
dim scom as string
scom="commande trop recente"
run command scom
( en n'oubliant pas des "" si nécessaire pour que la ligne soit interprétée
correctement.)
evidemment, si c'est mal redigé, ça ne sera pas détecté à la compilation,
mais par contre, ça tourne très bien à l'execution dans une version de
mapinfo qui connait cette commande.
(par exemple pour utiliser toutes les fonctions qui n'existaient pas en 5 et
qui existent en 6.5 ou en 7.8)
La syntaxe de ces fonctions est dans le manuel de mapbasic qui est sur le CD
des versions récentes de mapinfo.
Annick Lagnion
annick lagnion
DDE29
Hors ligne
#9 Thu 23 February 2006 11:22
Re: [Mapbasic 5.5+] export fenetre
B'jour,
merci pour tout vos conseils mais je rencontre encore un dernier problème sur le sujet que je n'arrive pas à résoudre.
JE peux utiliser la commande sans problème il y a bien exportation avec une résolution de 300 pas de soucis. PAr contre je ne peux pas paramètrer le nom du fichier c'est dommage !!!
je que j'aimerais c'est créer le nom du fichier avec de lancer "run command" et l'insérer après dans l'expression run command. est-ce que quelqu'un sait comment on fait. J'ai essayé pas mal de chose mais rien n'y fait.
cordialement,
alex
J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr
Hors ligne
#10 Thu 23 February 2006 12:02
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: [Mapbasic 5.5+] export fenetre
En fait l'avantage de run command est de pouvoir varier la commande, et donc de la paramétrer pendant que l'application tourne.
Je te propose donc
dim FichierJPEG as String
dim i as integer
For i = 1 to 5
FichierJPEG = "Mon_fichier"+i+".jpg"
Run command "Save Window La_fenetre As "+ FichierJPEG + " Type filetype ""JPEG"" Width 21 Units ""cm"" Height 29.7 Units ""cm"" Resolution 300"
next
Note n'oublie pas les espace dans ta ligne de commande celà devrait fonctionner.
Hors ligne
#11 Thu 23 February 2006 12:25
Re: [Mapbasic 5.5+] export fenetre
J'ai essayé cette technique avec :
nom_imag = "hoho.psd"
Run command "Save Window frontwindow() As " + nom_imag +" Type ""PSD"" Width 50.34 Units ""cm"" Height 56.875 Units ""cm"" Resolution 300"
mais il me répond :
Variable ou champs hoho.psd non défini
A noter également que ma version (7.0) ne comprend pas : filetype.
cordialement,
alex
J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr
Hors ligne
#12 Thu 23 February 2006 13:43
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: [Mapbasic 5.5+] export fenetre
Désolé pour file type c'est une erreur de ma part, il ne devrait pas y être tu as raison.
En fait il confond le contenu de ta variable avec un nom pour corriger le problème
Run command "Save Window frontwindow() as """ + nom_imag + """ Type ""PSD"" Width 50.34 Units ""cm" Heights 56.875 ""cm"" Resolution 300"
Le fait de rajouter "" dans la commande rajouteras la limite du nom de fichier et il ne se trompera plus.
Sinon essaye tout simplement
"Save Window frontwindow() as nom_imag Type ""PSD"" Width 50.34 Units ""cm" Heights 56.875 ""cm"" Resolution 300"
Histoire de vérifier qu'il retrouve la variable nom_imag.
Hors ligne
#13 Thu 23 February 2006 14:59
- lagnion
- Participant actif
- Date d'inscription: 5 Sep 2005
- Messages: 64
Re: [Mapbasic 5.5+] export fenetre
essaye avec:
nom_imag = "hoho.psd"
Run command "Save Window frontwindow() As """ + nom_imag +""" Type ""PSD""
Width 50.34 Units ""cm"" Height 56.875 Units ""cm"" Resolution 300"
(il faut que le nom du fichier soit entre "" dans la commande. ça donnera:
save window frontwindow() as "hoho.psd" type "psd" etc...)
Annick Lagnion
annick lagnion
DDE29
Hors ligne
#14 Thu 23 February 2006 16:09
Re: [Mapbasic 5.5+] export fenetre
Et pour la catégorie "export fenetre besoin coup de main" ; les nommés sont :
* Damien BEAUSEIGNEUR : pour son premier message de soutien et l'idée du "Run command"
* jakesp pour la bonne vieille méthode qui aurait du marcher mais que je n'arrive pas à maîtriser
* Annick Lagnion : pour l'explication des trois " (voir message précédent).
* Alex : pour avoir essayer les solutions proposée plus d'autres.
et le gagnant est ................ enfin la gagnante est :
: Annick Lagnion !!
clap ! clap ! clap !
Interview d'alex (perdant de cette catégorie):
----> "Alors là je dis bravo, j'avais essayé plein de trucs possibles mais je me disais que le triple " était trop technique, trop compliqué, que cela ne marcherait jamais. Mais Annick Lagnion la tentée et je crois que c'est ce qu'il fallait faire pour remporter cette palme d'or. Je félicite Annick Lagnion pour sa victoire et son esprit d'entraide et de soutien. Je tiens également à remercier toutes les autres personnes qui m'ont soutenu dans ce projet, je pense entre autres à Maurice Nadal."
Cordialement,
alex
Dernière modification par alex (Thu 23 February 2006 16:12)
J'arrête le combat pour le SVG !! et je ne fais plus que de l'information.
SVG : Scalable Vector Graphic ou comment mettre de la vie sur votre site Internet.
www.ode43.fr
Hors ligne
#15 Mon 27 February 2006 14:00
- lagnion
- Participant actif
- Date d'inscription: 5 Sep 2005
- Messages: 64
Re: [Mapbasic 5.5+] export fenetre
ce n'est pas que je l'ai tenté, c'est que ça figure dans les notices! (et
qu'on a souvent à l'utiliser!!):
lorsqu'on écrit une chaine de caractères, elle est entre deux symboles ", il
faut donc quelque chose de particulier pour que ce symbole-là soit reconnu
s'il est à l'intérieur de la chaîne et ne soit pas confondu avec la fin de
chaîne.
C'est très utile aussi dans des requêtes par exemple.
Annick Lagnion
annick lagnion
DDE29
Hors ligne
#16 Wed 13 September 2006 18:53
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [Mapbasic 5.5+] export fenetre
mais comment determiner un chemin pour deposer l'image de la carte
Hors ligne
#17 Fri 15 September 2006 09:31
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Mapbasic 5.5+] export fenetre
Bonjour,
Variante et complément (pour le chemin) à la réponse d'Annick Lagnion:
cot = chr$(34)
Run command "Save Window frontwindow() As "+cot+"C:\temp\images\hoho.psd"+cot+" Type "+cot+"PSD"+cot+
"Width 50.34 Units "+cot+"cm"+cot+" Height 56.875 Units "+cot+"cm"+cot+" Resolution 300"
l'usage de chr$(34) pour désigner les guillemets est plus sûr que leur multiplication.....
Hors ligne
#18 Fri 15 September 2006 12:23
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [Mapbasic 5.5+] export fenetre
c'est bon
cetait simple, encore fallait il y penser !!!
merci
Hors ligne
#19 Thu 21 September 2006 19:21
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [Mapbasic 5.5+] export fenetre
bonsoir,
jai essaye de taper le code suivant dans la fenetre mapbasic de mapinfo, pas le module externe mapbasic :
Run command "Save Window 176321904 As "+chr$(34)+"C:\Documents and Settings\zzzz.bmp"+chr$(34)+" Type "+chr$(34)+"BMP"+chr$(34)+"Width 50 Units "+chr$(34)+"cm"+chr$(34)+" Height 10 Units "+chr$(34)+"cm"+chr$(34)+" Resolution 30"
avec "176321904" qui est le numero windowID de ma seul fenetre carto.
Dans mon dossier "C:\Documents and Settings\" il n'y a pas deja de fichier "zzzz.bmp"
le systeme met met un message d'erreur suivant :
" impossible de sauvegarder le contenu de la fenetre. Verifier la place memoire disponible"
qui a la solution ?
Dernière modification par icadedt (Thu 21 September 2006 19:22)
Hors ligne
#20 Thu 21 September 2006 21:30
Re: [Mapbasic 5.5+] export fenetre
Si je me rappelle bien que vous travaillez avec la version 5.5, vous n'avez aucune chance d'y arriver. "RESOLUTION" n'a été introduit que plus tard (6.5 peut être, 7.0 pour sûr).
Jacques Paris
Hors ligne
#21 Thu 21 September 2006 21:45
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Mapbasic 5.5+] export fenetre
Bonsoir,
Rien à redire sur la syntaxe, sauf deux remarques de fond:
- êtes vous sur que la proportion 50x10 est bien celle de la fenêtre (sinon il va y avoir interprétation par MI qui ne fait pas de déformation)
mieux vaut ne rien mettre que des valeurs fausses, vous aurez alors une image "taille de la fenêtre"
- et 30 dpi ça me parait pas beaucoup : pour représenter à l'écran il faut >= 72 dpi; pour imprimer il faut >= 300
Sinon, peut être un problème de droit d'écriture dans ce répertoire, ou un répertoire temp archi plein de fichiers .temp ??
Hors ligne
#22 Fri 22 September 2006 09:58
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [Mapbasic 5.5+] export fenetre
je suis sur mapbasic 6.5
Hors ligne
#23 Fri 22 September 2006 10:15
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Mapbasic 5.5+] export fenetre
je suis sur mapbasic 6.5
Ce qui compte, puisque la commande est passée dans la fenêtre MapBasic de MapInfo, c'est la version du MapInfo utilisée
Hors ligne
#24 Fri 22 September 2006 13:06
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [Mapbasic 5.5+] export fenetre
mapinfo 8
Hors ligne
#25 Fri 22 September 2006 15:42
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Mapbasic 5.5+] export fenetre
Donc il vous reste:
- à ajouter un espace avant Width : "Width 50 Units " devient " Width 50 Units "
- si ça coince encore, à vérifier les 2 pistes de mon post d'hier soir
Hors ligne
#26 Fri 22 September 2006 16:36
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [Mapbasic 5.5+] export fenetre
bon je vais resituer le code dans son contexte technique :
voila le but du programme :
le systeme va chercher dans le dossier "C:\Documents and Settings\All Users\"
s'il existe un dossier nommé "test_pour_georezo" .
s'il nexiste pas le progr va demander de le créer, appuyer sur 'OK' pour le créer.
apres la creation de ce dossier , le progr va enchainer directement l'export de la fenetre
carto et le probleme se trouve à ce niveau, il refuse dexporter la fenetre pour cause de probleme de memoire !
pour tester le programme :
- ouvrer dabord mapinfo avec au moins une fenetre carto ouverte
- assurez-vous que "C:\Documents and Settings\All Users\" existe sur votre pc
- assurez-vous par contre que "C:\Documents and Settings\All Users\test_pour_georezo" nexiste pas sinon effacez-le
- depuis le module externe mapbasic faites ctrl+k puis ctrl+u
normalement un msgbox de type 'ASK' doit s'afficher...
Dernière modification par icadedt (Fri 22 September 2006 16:37)
Hors ligne
#27 Fri 22 September 2006 17:26
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Mapbasic 5.5+] export fenetre
Merci et... tout marche
Si le répertoire existe déjà, le bmp est créé de suite, sinon il y a demande de création du répertoire et si oui, création du bmp
Mais j'ai changé 2 choses:
- l'adresse du répertoire: C:\Documents and Settings\All Users\test_pour_georezo\ ...au lieu de C:\
- l'interprétation de la commande: on ne peut pas passer directement la commande, qui mélange des constantes et des variables. Il faut dans ce cas "l'interpréter" en passant par un cmd = "...." (cf. fichier joint), puis par run command cmd (bien sûr un dim cmd as string préalable s'impose)
Bon courage
ps: après quelque temps je supprimerai les pièces jointes et le code, pour ne pas encombrer le forum
Hors ligne
#28 Mon 25 September 2006 09:37
Re: [Mapbasic 5.5+] export fenetre
C:\Documents and Settings\All Users\test_pour_georezo\
Brrr une adresse de répertoire avec des espaces, moi ca me fait frissoner, c'est tenter le grand vilain bug... De plus que je vois que vous avez pris soin de mettre des "_" pour le nom du dossier test, quel interet dans ce cas ?
Reste plus qu'a rajouter des accents et des caractères spéciaux et hop on est sur que ca se casse la figure. Enfin, vous faites ce que vous voulez, je tenais juste a signaler que c'était un peu risqué à mon humble avis de bidouilleur...
Plutôt créer un lecteur virtuel Z:/test_pour_georezo dans ce cas (et encore le nom est un peu long), non?
Hors ligne
#29 Mon 25 September 2006 09:51
- icadedt
- Participant assidu
- Lieu: ici et là
- Date d'inscription: 21 Jul 2006
- Messages: 478
Re: [Mapbasic 5.5+] export fenetre
ca marche !
cetait juste une question de droit d'ecriture dans tel ou tel repertoire
autre question :
dans un control statictext , est il possible de determiner une police speciale ?
Hors ligne
#30 Mon 25 September 2006 09:55
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Mapbasic 5.5+] export fenetre
Reste plus qu'a rajouter des accents et des caractères spéciaux et hop on est sur que ca se casse la figure.
Ayez confiance.... , MI est un brave garçon qui pour beaucoup de fonctions (attention, pas toutes!!) accepte les noms longs, les accents et les caractères spéciaux. Dans le cas du code proposé par icadedt, ça marche par exemple avec le répertoire "on @ tout essayé"...si on a bien le droit d'écriture sur ce répertoire.
Mais, comme ça ne marche pas partout, on a TOUT à gagner à suivre le conseil de Robin: respecter le bon vieux 8.3 et le seul "_" comme séparateur!!!
Hors ligne