国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

FreeDOS 的 16 種顏色的由來

系統 Linux
為什么文本只能使用這些有限的顏色顯示,為什么 FreeDOS 使用這些顏色和陰影,而不是其他顏色?答案就像技術中的許多事情一樣,歷史原因。

如果你仔細了解過 FreeDOS,你可能已經注意到文本使用有限的顏色范圍 —— 16 種文本顏色和 8 種背景顏色。這類似于 Linux 顯示文本顏色的方式 —— 你或許能夠在 Linux 終端中更改 文本顏色,但你仍然只能使用 16 種文本顏色和 8 種背景顏色。

DOS 文本有 16 種顏色和 8 種背景顏色(吉姆·霍爾,CC-BY SA 4.0)

DOS 文本有 16 種顏色和 8 種背景顏色(吉姆·霍爾,??CC-BY SA 4.0??

為什么文本只能使用這些有限的顏色顯示,為什么 FreeDOS 使用這些顏色和陰影,而不是其他顏色?

答案就像技術中的許多事情一樣,歷史原因。

PC 色彩的由來

為了解釋為什么文本只有 16 種顏色,讓我給你講一個關于第一臺 IBM 個人計算機的故事。這個故事的部分內容可能有些杜撰,但基本內容已經足夠接近。

IBM 于 1981 年發布了個人計算機Personal Computer 5150(“IBM PC”)。該 PC 使用了一個簡單的監視器屏幕,以綠色顯示文本。由于此顯示器僅適用于一種顏色,因此被稱為 單色monochrome(“IBM 5151 單色顯示器”,搭載 IBM 單色顯示適配器Monochrome Display Adapter,即 MDA)。

同年,IBM 發布了 PC 的更新版本,帶來了驚人的技術成就 —— 顏色!新的 IBM 5153 彩色顯示器依賴于新的 IBM 彩色圖形適配器Color Graphics Adapter(CGA)。正是由于這個原始的 CGA,所有的 DOS 文本都繼承了它們的顏色。

但在我們討論那一部分之前,我們首先需要了解一些關于顏色的東西。當我們談論計算機屏幕上的顏色時,我們談論的是混合 三原色(紅色、綠色和藍色)的不同值。你可以將不同級別(“亮度”)的紅光、綠光和藍光混合在一起,以創建幾乎任何顏色。混合紅色和藍色光,你會得到洋紅色。混合藍色和綠色,你會得到青色或淺綠色。均勻地混合所有顏色,你會得到白色。沒有任何淺色,你會看到黑色(沒有顏色)。

混合紅色、綠色和藍色光以獲得不同的顏色(吉姆·霍爾,CC-BY SA 4.0)

混合紅色、綠色和藍色光以獲得不同的顏色(吉姆·霍爾,??CC-BY SA 4.0??

IBM 5153 彩色顯示器通過在陰極射線管cathode ray tube(CRT)上點亮微小的紅色、綠色和藍色光點來向用戶呈現顏色。這些小點排列得非常緊密,并以紅色、綠色和藍色的三色點組成一個“像素”的模式排列。通過控制同時點亮哪些熒光點,IBM 5153 彩色顯示器可以顯示不同顏色的像素。

每個紅色、綠色和藍色三元組都是一個像素(吉姆·霍爾,CC-BY SA 4.0)

每個紅色、綠色和藍色三元組都是一個像素(吉姆·霍爾,??CC-BY SA 4.0??

順便說一句,即使是現代顯示器也使用這種紅色、綠色和藍色點的組合來表示顏色。現代計算機的不同之處在于,每個像素都使用紅色、綠色和藍色 LED 燈(通常并排排列),而不是微小的熒光點。計算機可以打開或關閉每個 LED 燈,以混合每個像素中的紅色、綠色和藍色。

每個紅色、綠色和藍色三元組都是一個像素(吉姆·霍爾,CC-BY SA 4.0)

每個紅色、綠色和藍色三元組都是一個像素(吉姆·霍爾,??CC-BY SA 4.0??

定義 CGA 顏色

IBM 工程師意識到他們可以通過混合紅色、綠色和藍色像素來顯示多種顏色。在最簡單的情況下,你可以假設單個像素中的每個紅色、綠色和藍色點要么“開”,要么“關”。正如任何計算機程序員都會告訴你的那樣,你可以將“開”和“關”表示為二進制 —— 1(1 = 開)和 0(0 = 關)。

用 1 或 0 表示紅色、綠色和藍色意味著你可以組合多達八種顏色,從 000(紅色、綠色和藍色都關閉)到 111(紅色、綠色和藍色都打開)。請注意,位模式類似于“RGB”,因此 RGB=001 是藍色的(只有藍色是打開的),RGB=011 是青色的(綠色和藍色都打開了):

顏色

代碼

名稱

000

001

010

011

100

101

洋紅

110

111

但這只是最簡單的情況。一位特別聰明的 IBM 工程師意識到,只需再添加一點,你就可以將顏色數量從 8 種顏色增加到 16 種。因此,我們可以使用像 iRGB 這樣的位模式,而不是像 RGB 這樣的位模式。我們將把這個額外的“i”位稱為“強度”位,因為如果我們將“強度”位設置為 1(開),那么我們將在全亮度下點亮紅色、綠色和藍色;如果“強度”位為 0(關閉),我們可以使用一些中級亮度。

有了這個簡單的修復程序,現在 CGA 可以顯示 16 種顏色!為了簡單起見,IBM 工程師將高強度顏色稱為常規顏色名稱的“明亮”版本。因此,“紅色”與“亮紅色”配對,“洋紅色”與“亮洋紅色”配對。

顏色

代碼

名稱

顏色

代碼

名稱

0000

1000

亮黑

0001

1001

亮藍

0010

1010

亮綠

0011

1011

亮青

0100

1100

亮紅

0101

洋紅

1101

亮洋紅

0110

1110

亮黃

0111

1111

亮白

哦不,等等!這實際上不是十六種顏色。如果你注意到 iRGB=0000(黑色)和 iRGB=1000(亮黑色),它們都是相同的 黑色。沒有顏色可以“亮”,所以它們都是普通的黑色。這意味著我們只有 15 種顏色,而不是我們希望的 16 種顏色。

但 IBM 有聰明的工程師為他們工作,他們意識到如何解決這個問題以獲得 16 種顏色。IBM 實際上沒有實現直接的 RGB 到 iRGB,而是實現了  iRGB 方案。隨著這一變化,IBM
為每個光點設置了四個亮度級別:完全關閉、三分之一亮度、三分之二亮度和全亮度。如果“亮度”位被關閉,那么每個紅色、綠色和藍色光點將以三分之二的亮度點亮。如果你打開“亮度”位,RGB
顏色中的所有 0 都將以三分之一的亮度點亮,而所有 1 都將以全亮度點亮。

讓我用另一種方式向你描述這一點,使用 Web 顏色代碼表示。如果你熟悉 HTML 顏色,你可能知道你可以使用 ??#RGB?? 表示顏色,其中 RGB 表示紅色、綠色和藍色值的組合,每個值都在十六進制值 0 到 F 之間。因此,使用 IBM 修改后的 iRGB 定義,iRGB=0001 是 #00a(藍色),iRGB=1001 是 #55f(亮藍色),因為對于高亮度顏色,RGB=001 中的所有零點都以三分之一的亮度點亮(0 到 F 刻度上的“5”左右),RGB=001 中的所有零點都以三分之二的亮度點亮(0 到 F刻度上的“A”)。

顏色

代碼

名稱

顏色

代碼

名稱

0000

1000

亮黑

0001

1001

亮藍

0010

1010

亮綠

0011

1011

亮青

0100

1100

亮紅

0101

洋紅

1101

亮洋紅

0110

1110

亮黃

0111

1111

亮白

有了這些顏色,我們終于完成了!我們擁有從 iRGB=0000(黑色)到 iRGB=1111(亮白色)以及介于兩者之間的所有顏色的全光譜。就像彩虹般的顏色,這很漂亮。

除了……不,等等,這里有問題!我們實際上還不能復制彩虹的所有顏色。我們在小學學到的方便的助記符是
ROYGBIV,它可以幫助我們記住彩虹的顏色有紅色、橙色、黃色、綠色、藍色、靛藍和紫色。我們修改后的 iRGB
配色方案包括紅色、黃色、綠色和藍色——我們可以將其“偽造”為靛藍和紫色,但是我們缺少橙色。遭了!

一條美麗的彩虹——不幸的是它含有橙色。(Pawe? Fija?kowski,公共)

一條美麗的彩虹——不幸的是它含有橙色。(??Pawe? Fija?kowski???,公共)

為了解決這個問題,聰明的 IBM 工程師對 RGB=110 做了最后的修復。高強度顏色(iRGB=1110)以全亮度點亮紅色和綠色熒光粉點以產生黃色,但是在低亮度顏色(iRGB=0110)下,他們以三分之二的亮度點亮紅色,以三分之一的亮度點亮綠色。這將 iRGB=0110 變成了橙色——盡管它后來被稱為“棕色”,因為 IBM 不得不在某處弄亂標準名稱。

顏色

代碼

名稱

顏色

代碼

名稱

0000

1000

亮黑

0001

1001

亮藍

0010

1010

亮綠

0011

1011

亮青

0100

1100

亮紅

0101

洋紅

1101

亮洋紅

0110

1110

0111

1111

亮白

這就是 CGA 以及擴展的 DOS 獲得十六種顏色的方式!如果你好奇,這也是為什么會有“亮黑色”的原因,即使它只是一種灰色陰影。

表示顏色(位和字節)

但是你可能想知道:為什么 DOS 可以顯示 16 種文本顏色,卻只能顯示 8 種背景顏色?為此,我們需要快速了解計算機如何將顏色信息傳遞給 CGA 卡。

簡而言之,CGA 卡希望將每個字符的文本顏色和背景顏色編碼在一個字節數據包中,一共八位。那么八位是從哪里來的呢?

我們剛剛了解了 iRGB(四位)如何生成十六種顏色。文本顏色使用 iRGB ,四位,背景顏色僅限于八種低強度顏色(RGB,三位),加起來只有七位。丟失的第八位在哪里?

最后一個位可能是為 DOS 時代最重要的用戶界面元素保留的 —— 閃爍文本。雖然閃爍的文本在如今可能很煩人,但在整個 1980 年代初期,閃爍的文本是表示錯誤消息等關鍵信息的友好方式。

將這個“閃爍”位添加到三個背景顏色位(RGB)和四個文本顏色位(iRGB)中會產生八個位或一個字節!計算機喜歡以完整字節為單位進行計數,這使其成為將顏色(和閃爍)信息傳輸到計算機的便捷方式。

因此,表示顏色(和閃爍)的完整字節是 ??Bbbbffff??,其中 ??ffff?? 是文本顏色的 iRGB 位模式(從 0 到 15),??bbb?? 是低強度的 RGB 位模式背景顏色(從 0 到 7),而 ??B?? 是“閃爍”位。

十六種文本顏色和八種背景顏色的限制一直持續到今天。當然,DOS 堅持使用這種顏色組合,但即使是像 GNOME 終端這樣的 Linux 終端仿真器也仍然受限于 16 種文本顏色和 8 種背景顏色。當然,Linux 終端可能允許你更改使用的特定顏色,但你仍然限于十六種文本顏色和八種背景顏色。為此,你要感謝 DOS 和最初的 IBM PC。別客氣!

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2024-04-19 13:09:26

Flutter樣式TextSpan

2012-09-28 10:31:42

微軟LogoWindows

2021-06-16 12:57:27

FreeDOS

2021-03-20 22:00:00

FreeDOS開源

2010-08-06 13:53:12

RIP協議

2021-12-20 09:29:42

LinuxFreeDOS命令

2021-12-08 15:11:51

FreeDOSLinux

2009-08-18 10:48:25

C#事件

2010-07-02 12:02:11

eMule協議

2010-07-05 10:38:49

網絡層次協議

2022-07-20 21:03:05

FreeDOS文本編輯器

2021-03-16 12:42:42

FreeDOS開源

2009-07-01 09:56:00

運維管理IT資源

2009-09-22 14:40:58

中國之窗

2009-02-18 10:21:00

IP電話語音通信

2012-09-19 13:48:33

pNFS文件系統

2012-09-28 10:45:33

微軟Logo

2021-12-13 12:00:08

FreeDOSLinux

2010-06-23 14:20:06

eMule協議

2010-12-27 10:48:10

VirtualboxFreedos
點贊
收藏

51CTO技術棧公眾號

亚洲精品一区二区网址| 91亚洲人成网污www| 国产 日韩 欧美大片| 国产精品制服诱惑| 日韩精品免费一区二区三区| 久久久精品电影| 性欧美18一19sex性欧美| 欧美天天综合色影久久精品| free亚洲| 国产精品女同一区二区三区| 免费看国产曰批40分钟| 国产精品性做久久久久久| 老司机午夜网站| 精品一区二区三区av| 水蜜桃亚洲一二三四在线| 久久国产毛片| 青青成人在线| 国产在线精品不卡| 精品成在人线av无码免费看| 中文字幕一区二区三区免费视频| 视频一区欧美精品| 欧美日韩一二三区| 26uuu久久天堂性欧美| 亚洲精品久久久久久久久久久久久| 欧美在线视频导航| 欧美日韩高清影院| 91成人免费视频| 亚洲精品午夜av福利久久蜜桃| 国产欧美在线播放| 国产精品扒开腿做爽爽爽软件| 99国产在线视频| 久久精品日产第一区二区| 色女孩综合网| 国产精品一区在线观看你懂的| av女优在线播放| 亚洲图片小说区| 欧美精品免费在线观看| h视频久久久| 国产精品久久久久久久久久久久久| 欧美理论在线播放| 精品一区二区久久久久久久网站| 久88久久88久久久| 中文字幕国产传媒| 色婷婷综合久色| 国产高清视频色在线www| 国产精品国产三级国产普通话蜜臀| 日韩中文字幕a| 天天射综合影视| 一色桃子av在线| 久久天堂av综合合色| 美女少妇全过程你懂的久久| 成人免费91在线看| 成人动漫一区二区三区| 国产精品自拍小视频| 亚洲青色在线| 久久精品国产精品亚洲精品色| 在线视频国产一区| 麻豆视频在线看| 久久久女女女女999久久| 欧美wwwww| 国产树林野战在线播放| 日韩欧美国产网站| 亚洲国产精彩中文乱码av| 中文字幕av一区二区三区佐山爱| 色综合久久88| 成人精品影视| 在线观看日韩一区| 国产色播av在线| 17婷婷久久www| 久久精品免费| 美女av网站| 亚洲精品美女免费| 日韩中文在线电影| 亚洲熟妇无码av在线播放| 五月天一区二区三区| 国产精品无码久久久久| 不卡一卡2卡3卡4卡精品在| 丁香网亚洲国际| 一级毛片视频在线| 午夜精品久久久久久久久久久久 | 日韩免费av在线| 美女在线一区二区| 石原莉奈一区二区三区高清在线| 精品国产3级a| 午夜免费一区| 午夜欧美福利视频| 亚洲男人天堂久| 9久re热视频在线精品| 人人做人人澡人人爽欧美| 国产精品乱看| 午夜激情福利在线| 亚洲成人av在线电影| 欧美日韩中文不卡| 一区二区三区不卡视频 | 欧美精品精品精品精品免费| 久久93精品国产91久久综合| 日本丰满大乳奶| 欧美性大战xxxxx久久久| 欧美人与动xxxxz0oz| 日韩第一页在线观看| 色老综合老女人久久久| 久久国产精品色av免费看| 欧美交换配乱吟粗大25p| 777午夜精品免费视频| 欧美亚洲国产激情| 伊人影院综合在线| 深夜成人在线观看| 久久精品999| 欧美黑人激情| 超碰在线97av| 亚洲国产精品一区二区久久| 久久的色偷偷| 69sex久久精品国产麻豆| 日韩小视频在线观看专区| 激情综合中文娱乐网| 午夜在线观看91| 国产有码在线一区二区视频| 国产精品色呦呦| 日韩一区二区三区精品视频第3页| 亚洲日本理论电影| 亚洲成人a级网| 蜜桃视频一区二区三区 | 亚洲人成77777| 日韩午夜激情电影| 天堂久久一区二区三区| 成人网视频在线观看| 国产综合福利在线| 一区二区三区色| 国产欧美日韩影院| 日本我和搜子同居的日子高清在线| 亚州精品天堂中文字幕| 中文字幕不卡的av| 日本在线免费播放| 一区二区三区四区不卡| 一区二区三区产品免费精品久久75| 欧美高清xxx| 国产aaa一级片| 欧美激情欧美激情在线五月| 亚洲国产岛国毛片在线| 欧美激情15p| 日本高清好狼色视频| 国产精品丝袜一区二区三区| 精品成人在线视频| 最新日韩av| 51漫画成人app入口| 天天做天天爱天天高潮| 在线观看老湿视频福利| 91久久国产最好的精华液| 亚洲午夜极品| 亚洲日本伦理| h视频在线播放| 国产福利片在线| 青青草一区二区| 小嫩嫩精品导航| 日韩三级电影视频| 中文字幕一区二区中文字幕| 亚洲人metart人体| 久蕉在线视频| 欧美精品人人做人人爱视频| 久久精品人人爽人人爽| 粉嫩精品导航导航| 在线宅男视频| 天天综合狠狠精品| 久久精品人人爽| 亚洲伊人伊色伊影伊综合网| 韩国一区二区三区在线观看| 玖玖在线播放| 高清一级毛片视频| 欧美视频1区| 欧美日本精品在线| 欧洲生活片亚洲生活在线观看| 久久99久久99精品免视看婷婷 | 国产欧美精品国产国产专区| 欧美一级精品| 日本动漫理论片在线观看网站| 欧美日韩成人免费视频| 国产福利精品在线| 欧美成人福利视频| 久久久久久亚洲综合| 欧美黄免费看| 亚洲精品毛片| 国产系列在线观看| 能在线观看的av| 国产精品视频在线免费观看| 宅男66日本亚洲欧美视频| 亚洲成av人片在线观看无码| 久久国产精品色婷婷| www精品久久| 成人免费直播live| 国产亚洲成av人片在线观看桃| 国产精品99一区二区三区| 拔插拔插海外华人免费| 91精品国产91久久久久久| 欧美精品一二三区| 国产亚洲综合在线| 日本少妇一区二区| 日韩久久精品| 欧美第一在线视频| 国产精品蜜臀| 午夜成人影视|