您的位置:首页 > 编程语言

Windows游戏编程总结(一)图形处理中的几个函数

2016-07-18 02:52 363 查看
CreateCompatibleDC

函数原型  HDC CreateCompatibleDC(HDC hdc);​


hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境。

返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。

功能  该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。通过GetDc()获取的HDC直接与相关设备沟通,而本函数创建的DC,则是与
4000
内存中的一个表面相关联

CreateCompatibleBitmap

原型
 
HBITMAP
 
CreateCompatibleBitmap(
HDC
 
hdc,
int
 
nWidth,
int
 
nHeight);


hdc: 设备环境句柄。

nWidth:指定位图的宽度,单位为像素。

nHeight:指定位图的高度,单位为像素。

功能  该函数创建与指定的设备环境相关的设备兼容的位图。

SelectObject

函数原型:HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj)

hdc:设备上下文环境的句柄。

hgdiobj:被选择的对象的句柄(位图/画笔/字体/笔/区域的句柄)。

1.HBITMAP​   声明的(位图句柄)

2. 以下函数获得的

​位图:CreateBitmap, CreateBitmapIndirect, CreateCompatible Bitmap, CreateDIBitmap,
CreateDIBsection(只有内存设备上下文环境可选择位图,并且在同一时刻只能一个设备上下文环境选择位图)。

画刷:CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt,
CreateHatchBrush, CreatePatternBrush, CreateSolidBrush。

​字体:CreateFont, CreateFontIndirect。

笔:CreatePen, CreatePenIndirect。

区域:CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, 

​​CreatePolygonRgn, CreateRectRgn,CreateRectRgnIndirect。

函数功能:该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。(通俗的说用法 ,位图只有转换为设备上下文环境的句柄(DC)才可以被下面的函数BitBlt 使用)

BitBlt

原型  
BOOL
 
BitBlt(  _In_  
HDC
 
hdcDest,  _In_  
int
 
nXDest,  _In_  
int
 
nYDest,


               _In_  
int
 
nWidth,  _In_  
int
 
nHeight,  _In_  
HDC
 
hdcSrc,


                   _In_  
int
 
nXSrc,  _In_  
int
 
nYSrc,  _In_  
DWORD
 
dwRop);


hDestDC:指向目标设备环境的句柄

x:指定目标矩形区域左上角的X轴逻辑坐标。

y:指定目标矩形区域左上角的Y轴逻辑坐标。

nWidth:指定源在目标矩形区域的逻辑宽度。

nHeight:指定源在目标矩形区域的逻辑高度。

hSrcDC:指向源设备环境的句柄。

xSrc:指定源矩形区域左上角的X轴逻辑坐标。

ySrc:指定源矩形区域左上角的Y轴逻辑坐标。

dwRop:指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色。

功能:该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境(通俗的说  就是把 源设备环境的句柄【SelectObject转换的】贴到目标设备环境的句柄【显示窗口上】)。

注:  以上是内容包含个人的理解,如有表述不当或者错误,还请给为高手指出!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: