2.2.8 電子海圖系統(tǒng)解析及開發(fā) 海圖顯示 - 顏色系統(tǒng)

顏色編碼機制

為解決駕駛臺光線變化帶來的顯示效果總是,S-52制定了電子海圖的顏色規(guī)范喇聊,能夠通過航海人員的設置調(diào)節(jié)顯示屏幕的背景和各種物標符號與線邊界的顏色晨炕。S-52中規(guī)定了三種配色方案俏橘,分別是白天(Day)配色表茂腥、黃昏(Dusk)配色表和夜晚(Night)配色表。

ECDIS表示庫的顏色以五個字符代碼命名唱蒸,反映其用法邦鲫,例如顏色“CHMGD”表示“chart magenta,dominant”。 這縮寫被稱為“顏色標記 Colour Tokens”神汹,其中顏色標識所代表的具體顏色由CIE參數(shù)決定庆捺。

國際照明委員會(CIE,Commission Internationale de L'Eclairage / International)的色度模型是最早使用的三維模型之一屁魏,其中滔以,x和y兩維定義顏色,第3維L定義亮度氓拼。該模型描述的顏色與設備無關你画,排除了色彩在復制傳遞過程中,由于使用不同的顯示器而帶來的差異桃漾。此外坏匪,使用該模型還有一個好處是,不同配色表下的相同標記的顏色只是亮度不同撬统。但圖形庫不能直接使用CIE xyL的顏色系統(tǒng)适滓,需要將其轉(zhuǎn)換成日常使用的RGB顏色。

顏色標識 白天RGB 黃昏RGB 夜晚RGB
NODTA grey (163,180,183) grey (41,46,46) black (7,7,7)
CURSR orange (235,125,54) orange (75,38,19) orange (52,28,12)
CHBLK black (7,7,7) grey (54,60,61) grey (31,34,35)
CHGRD grey (125,137,140) grey (54,60,61) grey (31,34,35)
CHGRF grey (163,180,183) grey (41,46,46) grey (16,18,18)
CHRED red (241,84,105) red (80,28,35) red (59,17,10)
CHGRN green (104,228,86) green (35,76,29) green (22,34,7)
CHYLW yellow (244,218,72) yellow (81,73,24) yellow (41,33,10)
CHMGD magenta (197,69,195) magenta (74,58,81) magenta (52,18,52)
CHMGF magenta (211,166,233) magenta (58,20,57) magenta (52,18,52)
CHBRN brown (177,145,57) brown (54,44,17) brown (15,13,5)
CHWHT white (212,234,238) white (71,78,79) white (37,41,41)
SCLBR orange (235,125,54) orange (75,38,19) orange (52,28,12)
CHCOR orange (235,125,54) orange (75,38,19) orange (52,28,12)
LITRD red (241,84,105) red (80,28,35) red (59,17,10)
LITGN green (104,228,86) green (35,76,29) green (22,34,7)
LITYW yellow (244,218,72) yellow (81,73,24) yellow (41,33,10)
ISDNG magenta (197,69,195) magenta (74,58,81) magenta (52,18,52)
DNGHL red (241,84,105) red (80,28,35) red (59,17,10)
TRFCD magenta (197,69,195) magenta (74,58,81) magenta (58,20,58)
TRFCF magenta (211,166,233) magenta (58,20,57) magenta (52,18,52)
LANDA brown (201,185,122) brown (44,41,27) brown (13,10,8)
LANDF brown (139,102,31) brown (76,56,17) brown (23,17,5)
CSTLN grey (82,90,92) grey (54,60,61) white (37,41,41)
SNDG1 grey (125,137,140) grey (41,46,46) grey (31,34,35)
SNDG2 black (7,7,7) white (71,78,79) white (43,48,48)
DEPSC grey (82,90,92) grey (54,60,61) white (37,41,41)
DEPCN grey (125,137,140) grey (41,46,46) grey (31,34,35)
DEPDW white (212,234,238) black (7,7,7) black (7,7,7)
DEPMD pale_blue (186,213,225) dark_blue (12,14,15) black (7,7,7)
DEPMS light_blue (152,197,242) medium_blue (21,27,33) dark-blue (3,4,19)
DEPVS medium_blue (115,182,239) light_blue (22,35,47) dark-blue (3,4,19)
DEPIT yellow-green (131,178,149) yellow-green (21,37,31) yellow-green (8,11,9)
RADHI green (104,228,86) green (35,76,29) green (22,34,7)
RADLO green (63,138,52) green (21,46,17) green (10,16,3)
ARPAT green (63,165,111) green (26,69,47) green (12,31,21)
NINFO orange (235,125,54) orange (75,38,19) orange (52,28,12)
RESBL blue (58,120,240) blue (19,40,80) blue (21,29,69)
ADINF yellow (178,159,52) yellow (59,53,17) yellow (41,33,10)
RESGR grey (125,137,140) grey (41,46,46) grey (16,18,18)
SHIPS black (7,7,7) white (71,78,79) white (37,41,41)
PSTRK black (7,7,7) white (71,78,79) white (37,41,41)
SYTRK grey (125,137,140) grey (41,46,46) grey (31,34,35)
PLRTE red (220,64,37) red (73,21,12) red (66,19,11)
APLRT orange (235,125,54) orange (75,38,19) orange (52,28,12)
UIBCK white (7,7,7) black (71,78,79) black (43,48,48)
UIBDR bottomshadow (125,137,140) bottomshadow (41,46,46) bottomshadow (31,34,35)
UIAFD background (212,234,238) background (7,7,7) background (7,7,7)
UIAFF arm (115,182,239) arm (22,35,47) arm (3,4,19)
UINFD black (241,84,105) white (80,28,35) white (59,17,10)
UINFF topshadow (104,228,86) topshadow (35,76,29) topshadow (22,34,7)
UINFR red (235,125,54) red (75,38,19) red (52,28,12)
UINFG green (58,120,240) green (19,40,80) green (21,29,69)
UINFO orangehighlight (197,69,195) orange (58,20,57) orange (52,18,52)
UINFB blue (125,137,140) blue (54,60,61) blue (31,34,35)
UINFM magenta (201,185,122) magenta (44,41,27) magenta (13,10,8)
OUTLW black (7,7,7) black (7,7,7) black (7,7,7)
OUTLL brown (201,185,122) brown (44,41,27) brown (13,10,8)
RES01 grey (163,180,183) grey (41,46,46) black (7,7,7)
RES02 grey (163,180,183) grey (41,46,46) black (7,7,7)
RES03 grey (163,180,183) grey (41,46,46) black (7,7,7)
BKAJ1 black (7,7,7) black (7,7,7) black (7,7,7)
BKAJ2 grey (35,39,40) grey (11,13,13) grey (7,8,8)
白天顯示與黃昏顯示的差別

在項目S57Viewer新建配色表枚舉類ColorScheme

    public enum ColorScheme
    {
        Day,
        Dusk,
        NIght
    }

在項目S57Viewer新建靜態(tài)類MySettings恋追,存儲用戶的全局設置凭迹。將之前是否顯示經(jīng)緯度網(wǎng)格的字段遷移過來,并添加新字段存儲用戶配色表苦囱。

    public static class MySettings
    {
        public static bool IsDisplayGraticule = true;                   //是否顯示經(jīng)緯度網(wǎng)格
        public static ColorScheme ColorScheme = ColorScheme.Day;        //用戶顯示
    }

在項目S57Viewer新建單例模式的類S52Colors嗅绸,對外提供顏色標記的索引器,而用戶當前設置的顯示被存在全局變量中撕彤。如:獲取標記為"LANDA"的顏色S52Colors.Instance["LANDA"]鱼鸠。

public sealed class S52Colors
    {
        private static readonly S52Colors instance = new S52Colors();

        //顯示的static 構(gòu)造函數(shù)
        static S52Colors() { }

        private S52Colors() { }

        public static S52Colors Instance => instance;

        Dictionary<ColorScheme, Dictionary<string, SKColor>> colors = 
            new Dictionary<ColorScheme, Dictionary<string, SKColor>>()
            {
                {
                    ColorScheme.Day, new Dictionary<string, SKColor>    //白天配色表
                    {
                        { "NODTA", new SKColor(163, 180, 183) },
                        { "CURSR", new SKColor(235, 125, 54) },
                        // ...
                    }
                },
                {
                    ColorScheme.Dusk, new Dictionary<string, SKColor>    //黃昏配色表
                    {
                        { "NODTA", new SKColor(41, 46, 46) },
                        { "CURSR", new SKColor(75, 38, 19) },
                        // ...
                    }
                },
                {
                    ColorScheme.NIght, new Dictionary<string, SKColor>    //夜晚配色表
                    {
                        { "NODTA", new SKColor(7, 7, 7) },
                        { "CURSR", new SKColor(52, 28, 12) },
                        // ...
                    }
                }
            };

        public SKColor this[string acronym] => colors[MySettings.ColorScheme][acronym];
    }
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蚀狰,更是在濱河造成了極大的恐慌漆弄,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件造锅,死亡現(xiàn)場離奇詭異,居然都是意外死亡廉邑,警方通過查閱死者的電腦和手機哥蔚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛛蒙,“玉大人糙箍,你說我怎么就攤上這事∏K睿” “怎么了深夯?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诺苹。 經(jīng)常有香客問我咕晋,道長,這世上最難降的妖魔是什么收奔? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮坪哄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著铃拇,像睡著了一般缠俺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天少办,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的澄成。 我是一名探鬼主播畏吓,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼卫漫!你這毒婦竟也來了菲饼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤列赎,失蹤者是張志新(化名)和其女友劉穎宏悦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體包吝,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡肛根,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了漏策。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡臼氨,死狀恐怖掺喻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情储矩,我是刑警寧澤感耙,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站持隧,受9級特大地震影響即硼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜屡拨,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一只酥、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧呀狼,春花似錦裂允、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至貌踏,卻和暖如春十饥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背祖乳。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工逗堵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人眷昆。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓砸捏,卻偏偏與公主長得像谬运,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子垦藏,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容