6

非常快的一个,我一直在想,互联网浏览器是使用渲染 OS API 函数来创建按钮、渲染法师等,还是它们自己渲染它们?

我一开始以为是系统api,但是有一些效果,比如屏幕变灰,中间只看到一个小窗口,你知道,网上很多相册都有这个效果,我真的不知道如何使用例如只有 Win32 调用。

编辑:更准确地说,我知道屏幕上的最终绘图将始终使用系统 API,但您可以根据需要发送预渲染图像。谢谢。

4

2 回答 2

5

Web 浏览器使用自己的渲染引擎而不是 OS API。使用 OS API 渲染按钮完全取决于特定渲染引擎的设计决策。但是,为了在各种操作系统上运行,这些引擎更喜欢自己的渲染,以提供跨平台的相同外观。

  • 壁虎,火狐
  • 三叉戟,用于 Internet Explorer
  • Presto , 用于 Opera
  • KHTML,用于 Konqueror
  • WebKit,用于 Apple 的 Safari 和 Google 的 Chrome 网络浏览器。

参考:http ://en.wikipedia.org/wiki/Web_browser_engine

于 2010-08-28T13:31:42.437 回答
1

浏览器渲染引擎是使用 OS API 创建按钮、编写文本、创建框等,还是使用 OS API 自己渲染所有这些只是为了在屏幕上实际显示渲染图像?

我实现了某种浏览器渲染引擎(参见支持的元素支持的属性表,了解它支持的 HTML 元素和 CSS 属性的列表)。

我使用系统 API(.NET Framework API,它们是底层 O/S GDI API 的薄包装器)来:

  • 量词(文本字符串)
  • 画字
  • 画线和框
  • 用纯色填充矩形

这些是由 Windows GDI 实现的 API 功能。

我还使用一些系统(O/S 或 .NET)API 来绘制按钮和组合框(请参阅重写标准控件,如编辑、组合等?)。

因为,文本、图形等的整个渲染似乎很难完全自己编写

是的,实现 CSS 和一切都需要一段时间。您已经看到浏览器开发团队花了多长时间来实现:几个日历年,很多人年。

于 2010-08-28T21:55:44.913 回答