正在加载图片...
引擎管理的表面 引擎管理的表面有以下特征: 由GDⅠ创建和管理 用一种标准的DIB格式作为DIB创建:从上至下,原点位于左上角,或者从底向 上,原点位于左下角 类型为 STYPE BITMAP 表面没有相应的设备句柄。 标准格式位图是单平面、压缩像素(每个像素的数据用连续的方式存储)格式的位图 位图的每条扫描线在4字节的边界排列 在 EngCreateBitmap函数中创建的位图是DB格式。为了使引擎能管理位图,必须是 DIB格式。 设备管理的表面(标准格式位图) 设备管理的表面有以下特征: 通过对设备驱动程序的 DrvCreateDeviceBitmap函数的调用创建。 有一个表面的相关设备句柄( DHSURF:参见在线 DDK Graphics Driver Reference 中的 SURFOBJ。) 可以是透明的或不透明的。 不透明的设备管理表面是一种GDI既没有任何有关位图格式的信息,也没有位图中位 的参考信息的表面。因为这些原因,驱动程序最少必须支持 DryBitBlt、 DryText0ut和 DryStockePath函数。这样的表面的类型是 STYPE DEVICE。 透明的设备管理表面是一种GDI含有有关位图格式的信息并知道位图中位的位置的表 面。因为这个原因,驱动程序不需要实现任何绘图操作,并使它们都服从GDI。这样的表面 的类型是 STYPE BITMAP。 驱动程序为了转换不透明的位图到透明的位图,它必须调用 EngModifySurface函数。 通过这一调用,驱动程序通知GDI位图格式和在存储器中位图的位置。 设备管理的DIB表面允许驱动程序回调GD使GD在表面绘图。管理其自身表面的驱 动程序,也能通过在其表面周围封装DIB(用 EngCreateBitmap创建)而引用到GDI的回调, 使用DB除外。 设备管理的表面(非标准格式位图) 通过调用 EngCreateDeviceSurface函数使GDI创建表面并返回一个句柄,驱动程序 可以启用一个设备管理的非DIB表面。GDⅠ依赖驱动程序访问和控制绘制到何处,并从设备 管理的表面读出。 设备相关位图(DDB),有时称作设备格式位图,是另一种类型的非DIB、设备管理的 表面。DDB支持某些驱动程序,如VGA驱动程序,实现快速的位图到屏幕的块传送。DDB也 允许驱动程序在屏幕外的显示存储器绘制非DIB位图。如果请求了DDB,驱动程序能支持 DrvCreateDeviceBitmap函数并调用 EngCreateDeviceBitmap函数使引擎返回一个到位图的 句柄 2.2.3.5GDI彩色空间转换8 引擎管理的表面 引擎管理的表面有以下特征: ▪ 由 GDI 创建和管理。 ▪ 用一种标准的 DIB 格式作为 DIB 创建:从上至下,原点位于左上角,或者从底向 上,原点位于左下角。 ▪ 类型为 STYPE_BITMAP。 ▪ 表面没有相应的设备句柄。 标准格式位图是单平面、压缩像素(每个像素的数据用连续的方式存储)格式的位图。 位图的每条扫描线在 4 字节的边界排列。 在 EngCreateBitmap 函数中创建的位图是 DIB 格式。为了使引擎能管理位图,必须是 DIB 格式。 设备管理的表面(标准格式位图) 设备管理的表面有以下特征: ▪ 通过对设备驱动程序的 DrvCreateDeviceBitmap 函数的调用创建。 ▪ 有一个表面的相关设备句柄(DHSURF;参见在线 DDK Graphics Driver Reference 中的 SURFOBJ。) ▪ 可以是透明的或不透明的。 不透明的设备管理表面是一种 GDI 既没有任何有关位图格式的信息,也没有位图中位 的参考信息的表面。因为这些原因,驱动程序最少必须支持 DrvBitBlt、DrvTextOut 和 DrvStockePath 函数。这样的表面的类型是 STYPE_DEVICE。 透明的设备管理表面是一种 GDI 含有有关位图格式的信息并知道位图中位的位置的表 面。因为这个原因,驱动程序不需要实现任何绘图操作,并使它们都服从 GDI。这样的表面 的类型是 STYPE_BITMAP。 驱动程序为了转换不透明的位图到透明的位图,它必须调用 EngModifySurface 函数。 通过这一调用,驱动程序通知 GDI 位图格式和在存储器中位图的位置。 设备管理的 DIB 表面允许驱动程序回调 GDI 使 GDI 在表面绘图。管理其自身表面的驱 动程序,也能通过在其表面周围封装 DIB(用 EngCreateBitmap 创建)而引用到 GDI 的回调, 使用 DIB 除外。 设备管理的表面(非标准格式位图) 通过调用 EngCreateDeviceSurface 函数使 GDI 创建表面并返回一个句柄,驱动程序 可以启用一个设备管理的非 DIB 表面。GDI 依赖驱动程序访问和控制绘制到何处,并从设备 管理的表面读出。 设备相关位图(DDB),有时称作设备格式位图,是另一种类型的非 DIB、设备管理的 表面。DDB 支持某些驱动程序,如 VGA 驱动程序,实现快速的位图到屏幕的块传送。DDB 也 允许驱动程序在屏幕外的显示存储器绘制非 DIB 位图。如果请求了 DDB,驱动程序能支持 DrvCreateDeviceBitmap 函数并调用EngCreateDeviceBitmap 函数使引擎返回一个到位图的 句柄。 2.2.3.5 GDI 彩色空间转换
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有