banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#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

 

Pied de page des forums

Powered by FluxBB