#1 Thu 02 June 2005 17:34
- Jackydrouet
- Invité
Changer le style des polygones d'une table en MapBasic
De: Drouet J
Bonjour a toutes et a tous,
Je suis confronte a un probleme que je n'arrive pes a resoudre.
J'ai une table X dont le style ne me convient pas, j'aimerais faire passer les polygones de cette table de la couleur jaune vers la couleur bleu en gardant le tour noir. J'aimerais donc modifier la couleur affectee aux ploygone de facon definitive de facon a ce que a chaque ouverture les polugones soient de la meme couleur.
Je vous demende cette manipulation car j'ai plus de 280 tables a modifier ces tables ne pouvant en aucun cas etre assemblees.
Merci
#2 Thu 02 June 2005 17:34
- Francois Biju-Duval
- Invité
Re: Changer le style des polygones d'une table en MapBasic
Je vous propose une solution hors MapBasic :
Exportez la table en MIF/MID.
Dans un editeur de texte remplacer dans le .MIF Brush
(2,16776960,16777215) qui est jaune vif par exemple, par
Brush (2,65535,16777215) qui est bleu clair par exemple.
Reimportez le MIF/MID dans MapInfo.
Pour connaitre les codes couleurs des trames de polygones, lisez par un
editeur de texte a la ligne Set Map un .wor ou vous auriez assigne la
couleur dans le controles des couches (en aparte, Pen represente le
contour).
Pour des problemes d'automatisation (plusieurs tables a traiter),
utilisez un programme qui cherche / remplace une chaine de caracteres.
#3 Fri 03 June 2005 09:12
- Geo Maumet
- Invité
Re: Changer le style des polygones d'une table en MapBasic
Bonjour
en mapbasic un truc du genre comme ci-dessous
doit le faire, ouvrez vos 280 tables sans les afficher pour aller plus vite et
lancez le mbx compile.
Attention pas teste, juste ecrit a la va vite
Dim Enr as integer
Dim NumTab as integer
Dim NomTab as string
dim c_var as Pen
dim b_var as Brush
Dim SelObj as object
c_var=MakePen(1,2,0) 'Contour Noir
b_var=MakeBrush(2,255,16777215) ) 'Changer le fond bleu
For NumTab=1 to NumWindows 'Boucle sur chacune des tables
NomTab = TableInfo(NumTab,TAB_INFO_NAME )
Run command Select * from + NomTab 'selectionner tout les objets
Fetch first from selection 'Se placer sur le premier objet
For Enr=1 to SelectionInfo(SEL_INFO_NROWS) 'Boucle sur tout les objets
SelObj=Selection.obj 'Recup de l'objet
If Str(Selection.obj)= Region 'Verif si c'est un polygone
Alter Object SelObj
Info OBJ_INFO_PEN, c_var 'Changer contour
Alter Object SelObj
Info OBJ_INFO_BRUSH, b_var 'Changer fond
Update Selection
Set Obj = SelObj
end if
Fetch next from Selection 'Passer a l'objet suivant
next
Run command Commit Table + NomTab 'Sauver la table
next
Laurent
#4 Fri 03 June 2005 09:12
- Jplartigau
- Invité
Re: Changer le style des polygones d'une table en MapBasic
De: jplartigau
Bonjour
une solution en mapbasic consiste a faire apparaitre la (les couches selon une apparence temporairement dans le document actuel avec les lignes de commandes suivantes
Dim style_sel as brush
style_sel=makebrush
style_sel=makebrush(17,1316095,-1)
Set Map Layer Ma table Display
Global Global Brush style_sel
C'est dans makebrush que l'on definit le style se reporter a cette fonction dans l'aide en ligne de
mapbasic
Vous pouvez aussi dans une boite de dialogue choisir le style que vous voulez avec les lignes de commande suivante ( a inserer dans un code de
Dialog ...)
Control BrushPicker
Position 170,20
ID 310
Value style_sel
into style_sel
Pour la seconde solution ce sera pour demain
Bonne soiree
#5 Fri 03 June 2005 04:52
- RPREST
- Invité
Re: Changer le style des polygones d'une table en MapBasic
Bonjour,
Pour ceux qui manipulent les couleurs (extrait de la liste mapinfo-L) :
Color codes are created with the following formula: Code = R * 65536 + G * 256 + B
where R, G and B are the amount of Red, Green and Blue in the range of 0 to 255, inclusive.
Gray/Grey is equal values of R, G and B, so a light gray (192) would be 12632256. Orange is a little more red than green and no blue, say, R=255, G=128 and B=0 or 16744448.
If you choose Options > Custom Colors... from the MapInfo menu, you can click on a color, then push the Define button and you can see how much R, G, and B that color's made of.
DarkRed 5570560
MediumRed 11141120
BrightRed 16711680
LightRed 16733525
Brick 10502208
Cherry 16711765
Maroon 12582992
Pink 16755370
Salmon 16748672
VioletRed 16711850
DarkGreen 21760
MediumGreen 43520
BrightGreen 65280
LightGreen 11206570
Forest 5614080
Grass 45168
Lime 11206485
Olive 7901184
Pine 2839808
SeaGreen 11206655
SpringGreen 13696928
YellowGreen 12648192
DarkBlue 85
MediumBlue 170
BrightBlue 255
LightBlue 5592575
BabyBlue 11184895
BlueGray 9474208
CobaltBlue 6312144
Cornflower 11184895
Navy 128
Periwinkle 14733567
SkyBlue 5614335
VioletBlue 11141375
DarkCyan 21845
MediumCyan 43690
BrightCyan 65535
LightCyan 5636095
Aquamarine 10551264
BlueGreen 65450
GreenBlue 32880
PaleCyan 11206655
Turquoise 45216
DarkEarthtones 8404992
Brown 11554816
BurntSienna 11550720
Copper 11558976
IndianRed 9437184
Mahogany 12599296
RawSienna 11558912
RawUmber 9461760
Rust 10506288
Sepia 9453568
TanColor 16748640
DarkFlesh 11162965
MediumFlesh 16755370
LightFlesh 16761024
Apricot 16769216
Peach 16765120
VeryDarkGray 4210752
DarkGray 5592405
MediumGray 8421504
LightGray 11184810
VeryLightGray 14013909
White 16777215
Silver 13684960
DarkMagenta 5570645
MediumMagenta 11141290
BrightMagenta 16711935
LightMagenta 16733695
Mulberry 11141205
Orchid 16733610
PaleMagenta 16755455
RedViolet 16711840
DarkOrange 8410368
MediumOrange 11170048
BrightOrange 16755200
LightOrange 16755285
Bittersweet 16740432
BurntOrange 14704640
Melon 16744560
OrangeRed 16732160
Tangerine 16740352
YellowOrange 16748544
DarkPurple 2818133
MediumPurple 5570730
BrightPurple 8388863
LightPurple 8410623
Violet 6291568
Lavender 14002943
Plum 10485872
DarkYellow 5592320
MediumYellow 11184640
BrightYellow 16776960
LightYellow 16777130
Amber 16755200
Cream 16777168
Gold 11563072
Goldenrod 16756736
GreenYellow 11206400
Lemon 16777045
Maize 16756848
OrangeYellow 16764928