2010-08-28 41 views
6

非常快速,我總是想知道,互聯網瀏覽器使用渲染OS API函數來創建按鈕,渲染法師等,還是他們自己渲染它?互聯網瀏覽器使用什麼進行渲染?

我首先想到它使用的是系統api,但是有一些效果,比如當屏幕變成灰色時,你只能在中間看到一個小窗口,你知道,這個效果在很多相冊上使用,如何使用例如Win32調用來實現。

編輯:更確切地說,我知道屏幕上的最終繪圖將始終使用系統API,但您可以根據需要發送預渲染圖像。謝謝。

+1

*(reference)* [Wikipedia:Web browser engines](http://en.wikipedia.org/wiki/Web_browser_engine) – Gordon 2010-08-28 13:28:31

+0

我不明白這個問題:是的,屏幕上的最終繪圖將始終使用系統API 。是的,在每個瀏覽器的實現中都有瀏覽器實現特定的代碼,該代碼使用系統API呈現瀏覽器想要呈現的任何內容。那麼問題是什麼? – ChrisW 2010-08-28 13:37:25

+0

好吧,也許更好的表述是:瀏覽器渲染引擎是否使用OS api來創建按鈕,編寫文本,創建對話框等,還是使用OS API自行渲染所有這些,以便實際顯示渲染圖像屏幕? Becouse,整個文本,圖形的渲染等等,似乎很難完全自己編寫..... – 2010-08-28 21:24:55

回答

5

Web瀏覽器使用自己的渲染引擎而不是OS API。使用OS API渲染按鈕完全取決於特定渲染引擎的設計決策。然而,爲了在各種操作系統上運行,這些引擎更喜歡他們自己的渲染,以在不同平臺上提供相同的外觀。

  • Gecko,爲Firefox
  • Trident,爲Internet Explorer
  • Presto,歌劇
  • KHTML,用於Konqueror的
  • WebKit,蘋果的Safari和谷歌Chrome網絡瀏覽器。

編號:http://en.wikipedia.org/wiki/Web_browser_engine

+0

謝謝,如果我可以更具體一些,例如,這些引擎中的任何一個使用某些GUI API?例如繪製文字?或者甚至完全通過繪製引擎來處理? – 2010-08-28 21:22:09

1

進行瀏覽器渲染引擎useOs API創建按鈕,輸入文字,創建框等,或者他們使用OS API只爲實際呈現這一切靠自己在屏幕上顯示渲染圖像?

我實現了一個瀏覽器渲染引擎的東西(例如參見Table of Supported ElementsSupported Properties的HTML元素和它支持的CSS屬性的列表)。

我使用系統API(.NET框架的API,其是薄的包裝紙圍繞底層O/S GDI API)來:

  • 量詞(文本串)
  • 油漆詞語
  • 繪製與純色線條和邊框
  • 填充矩形

這些是年代由w ^實現的那種API功能indows GDI。

還有一些系統(O/S或.NET)API用於繪製按鈕和組合框(請參閱Rewrite standard controls like edit, combo, etc?)。

Becouse,文字,圖形整個渲染等似乎相當難寫完全自己

是,實施CSS和一切確實需要一段時間。您已經看到瀏覽器開發團隊需要花多長時間:幾個日曆年,多個人年。