-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtable_color.php
145 lines (121 loc) · 4.17 KB
/
table_color.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?php
$color_text_code = array(
'00'=>'#FFFFFF',
'++'=>'#000000',
'11'=>'#FFFFFF',
'12'=>'#FFFFFF',
'13'=>'#FFFFFF',
'14'=>'#000000',
'15'=>'#000000',
'21'=>'#000000',
'22'=>'#FFFFFF',
'23'=>'#000000',
'24'=>'#000000',
'30'=>'#FFFFFF',
'31'=>'#000000',
'51'=>'#000000'
);
$tableau = array(array(5));
/* $tableau est de la forme :
tableau[1]=(valeur1 commune, valeur1 département, valeur1 région),
etc ..
*/
$tableau['++'][6] = "Surface totale";
$tableau['++'][7] = "255 255 255"; // couleur de MAPSERVER
$tableau['11'][6] = "Zones urbanisées et bâties";
$tableau['11'][7] = "230 0 77"; // 65 65 65 couleur de MAPSERVER
$tableau['12'][6] = "Zones industr/commerc, réseaux de comm, gds équipements";
$tableau['12'][7] = "204 77 242"; // 100 100 100 couleur de MAPSERVER
$tableau['13'][6] = "Mines, décharges, dépôts et chantiers";
$tableau['13'][7] = "166 0 204"; // 135 135 135 couleur de MAPSERVER
$tableau['14'][6] = "Espaces verts artificialisés non agricoles";
$tableau['14'][7] = "255 166 255"; // 150 170 150 - 170 170 170 couleur de MAPSERVER
$tableau['15'][6] = "Espaces non bâtis en attente de requalification";
$tableau['15'][7] = "205 205 205"; // 205 205 205 couleur de MAPSERVER
$tableau['20'][6] = "Terres agricoles mixtes";
$tableau['20'][7] = "170 170 0"; // couleur de MAPSERVER
$tableau['21'][6] = "Terres arables";
$tableau['21'][7] = "255 255 168"; // 255 255 0 couleur de MAPSERVER
$tableau['22'][6] = "Cultures permanentes";
$tableau['22'][7] = "230 128 0"; // 255 170 0 couleur de MAPSERVER
$tableau['23'][6] = "Prairies";
$tableau['23'][7] = "230 230 77"; // 170 255 0 couleur de MAPSERVER
$tableau['24'][6] = "Autres terres agricoles";
$tableau['24'][7] = "255 230 166"; // 208 154 138 couleur de MAPSERVER
//$tableau['30'][6] = "Milieux semi-naturels";
//$tableau['30'][7] = "0 90 0"; // 0 170 0 couleur de MAPSERVER
$tableau['31'][6] = "Forêts, bois, bosquets";
$tableau['31'][7] = "128 255 0"; // 0 90 0 couleur de MAPSERVER
$tableau['32'][6] = "Milieu à végétation arbustive et/ou herbacée";
$tableau['32'][7] = "204 242 077"; // 0 170 0 couleur de MAPSERVER 204-242-077
$tableau['51'][6] = "Eaux continentales";
$tableau['51'][7] = "0 204 242"; // 0 170 255 couleur de MAPSERVER
$tableau['00'][6] = "Espaces mixtes (src Majic)";
$tableau['00'][7] = "100 100 100"; // 255 170 255 couleur de MAPSERVER
class ColorConverter {
/**
* Obtenir la valeur hexadecimal d'une couleur
* @param array $rgb array[R, G, B]
* @return string
* http://www.fobec.com/php5/1032/convertir-une-couleur-rgb-valeur-hexadecimal-vice-versa.html
la couleur HTML d'une vert clair
$hexcolor=ColorConverter::toHTML(array(102,255,51));
composante RGB d'une couleur
$rgb=ColorConverter::toRGB('#66ff33');
*/
public static function toHTML(array $rgb) {
$hexcolor = '#';
for($i=0; $i<3; $i++) {
if( ($rgb[$i] > 255) || ($rgb[$i] < 0) ) {
echo "Error bad value :".$rgb[$i];
$hexcolor .= '00';
} else {
$hex = dechex($rgb[$i]);
if(strlen($hex) ==2) {
$hexcolor.= $hex;
} else {
$hexcolor .= "0". $hex;
}
}
}
return $hexcolor;
}
/**
* Extraire les byte RGB d'une couleur format HTML
* @param String $hex
* @return array $rgb array[R, G, B]
*/
public static function toRGB($hex) {
if (strlen($hex)==7) { //enlever #
$hex=substr($hex, 1);
}
$rgb=array();
$rgb[]=hexdec(substr($hex,0,2));
$rgb[]=hexdec(substr($hex,2,2));
$rgb[]=hexdec(substr($hex,4,2));
return $rgb;
}
/**
* Calculer la couleur du texte sur un fond RGB
* @param array $rgb array[R, G, B]
* @return string
*
*/
public static function colortext(array $rgb) {
$textcolor = '';
$cpt=0 ;
for($i=0; $i<3; $i++) {
if ($rgb[$i] <= 130) {
$textcolor = '#FFFFFF';
$cpt = $cpt + 1 ;
}
}
if ($cpt > 1) {
return $textcolor;
}else{
$textcolor='';
return $textcolor;
}
}
}
?>