為什麼電腦編寫代碼可以運行後看到圖形呢?

童話裡的塵埃65376381


在現在人們主要的軟件開發工作是針對操作系統的,所以這個問題的理解對大多數人來說不難但不直觀,其實只要瞭解一下位圖就可以了,就是屏幕上的像素點陣在顯存緩衝區的映射,在早期以及現在和硬件打交道的工程師,對這個印象會很深刻,但作為絕大多數系統應用工程師更多的是直接用系統API,內部的細節就被隱藏了


靠良心掙錢


這個問題其實涉及到計算機實現原理,計算機分軟件和硬件,軟件運行的時候會編譯成計算機硬件能能夠識別的0和1的機器語言,再通過複雜的過程轉換成顯示器上像素點匯成圖形。



golang深耕者


這個問題我用比較簡單的方式來解釋下

首先我們看到圖形是通過顯示設備(顯示器、電視、手機),這些本質都可以看作是一個個像素點組成的區域。通過某種方式讓像素點在特定位置現實特定的顏色就可以組成特定的圖形,也就是單張畫面。

編寫代碼只是一種告訴計算機在什麼地方顯示什麼顏色的方式,只不過中間省略(封裝)了大量環節,這些省略方式都是提前制定好了的,比如#000000的就是黑色,#FFFFFF就是白色一樣。編寫代碼就是使用這種約定好的規則進行設計想要顯示的畫面。

總結一下,代碼就是命令,讓某個像素點現實某個顏色,多個像素點組成圖形。


AGamer


電腦屏幕是像素構成。最簡單的圖形表達是單色表達,舉個例子,假如顯示一根紅色線條只需要點亮一排像素即可,設定二進制數1為點亮,0則不點亮,顯示黑色,那麼11111111可以點亮一行八個像素的線條,一個字節就可以搞定了。

假設顯示模式是1024*768,那麼發送1024*768/8個全部為1的字節就可以讓全屏為紅色。

以此類推,如果增加顏色就要相應增加字節數。這樣圖形就能顯示出來。當然顯示真實圖像還遠遠不夠,因為圖像有灰度,如果加上灰度值所需要的字節數將大幅提高,因此就有了壓縮算法,比如我們常見的jpg文件就是一種圖像壓縮文件。


飛翼點通


顯示卡把需要顯示的圖像存儲在顯存中,由程序計數器逐個位元讀出數值,由D/A轉換器(數字信號和模擬信號轉換器)轉換為電壓變化的輸出。

讀出的順序對應於圖像為從左到右一整行後,再到下一行,直至右下角最後一個象點。再回到左上角象點讀出,電壓的輸出分紅、綠、藍三個通道,對應每一色,光亮度越高,輸出的電壓越高,通常輸出電壓範圍(國際標準為0-0.7V或0-0.1V)此三通道電壓由信號線的1、2、3號腳輸入到顯示器。


jedi_knight3


因為所有的圖像圖形以及應用程序底端都是又二進制組成的。使用低級語言是可以直接編寫出想要的任何東西,只是比較繁瑣而已。


叫啥好呢是吧


因為編寫的代碼中的特殊語句,對應於電腦程序中相應的基礎圖形,例如


在HTML中表示一條水平級,
換小行,

換大行...等


精簡科技


別聽那些人的胡說八道了。你有這個好奇心,很好。要搞懂這個問題,需要你鑽研計算機科學的一些軟硬件基礎原理。建議你去學一學。


縱橫無限


圖片是一個一個的像素點堆積起來的,像素點的本質也就是二進制的數字,也就是0/1,編寫的代碼最後生成的可執行文件也是01,所以編寫代碼可以生成圖片是很平常的事,它們的本質是一樣的,都是二進制數字。


星空e劇


這個和奧運會或者軍訓時候用人員來顯示圖案是一樣的,每一個像素點可以發出三原色的光,程序控制每個像素點三原色的亮度組成不同的圖案就可以了。


分享到:


相關文章: